Demo Editing/Demo How To Info
This article is a stub. You can help the Wiki by expanding it.
Overview
Intro text needed
How NPCs/Objects/Models Work
How Entities work.
How the Camera Works
How Movement Works
How FXs Work
How To Make Transparent Entities
Most stealth, invisibility, and transparency FX do not play back in demos. Although the FX commands for these powers are present in the demo recording, they produce no visible change in a model's appearance. The are a few exceptions, such as Numina and War Witch (her trainer model), but in these cases the transparency is inherent to the model and not an FX that you can apply to other entities.
However, although none of the standard stealth or transparency powers work in demo playback, there is one transparency FX which does work:
OBJECTIVEOBJECTFX/GHOSTED.FX
This is the placeable mission objective FX such as you would see for planting bombs in a Mayhem Mission Arson secondary mission. It is this FX which makes these mission objectives transparent until they are activated or clicked on. Although, this FX is normally only used for these SEQ entities, it also function for regular models. The following example shows this FX being applied to Back Alley Brawler in Galaxy City:
0 17 NEW "Back Alley Brawler" 0 17 NPC Model_Back_Alley_Brawler_Trainer 0 17 POS 367 65.921875 -832 0 17 PYR 0 -1.570796 -0 0 17 MOV READY_XARMS 0 0 17 FX Maintained 717 OBJECTIVEOBJECTFX/GHOSTED.FX 0
The FX command line is the only addition being made. This is all that is required to apply this transparency effect to an entity, as can be seen here:
Note, though, that there are two qualifier to using this FX to achieve transparency:
- The transparency effect pulsates, just as you would see with the mission objectives which normally utilize this effect, so it is not a consistent, steady level of transparency.
- This FX also includes the mission objective audio component (the alert noise to notify you that you are near the objective), so when using this FX to create a demo for video capture, that audio component will be present and must be worked with if demo's audio is being included as part of the capture.
How To Make Invisible Models
Using Puddle or other invisible models for total invisibility or using FXs "on their own."
How To Create Invasion Effects (Sky & War Walls)
The SKY and DYNARRAY commands, including limited information on how each is used during Rikti Invasions, are discussed in the Understanding Demo Code section. In further detail, these two command lines are used together for managing the changes to the sky color and operational state of the War Walls.
The sky color is changed during a Rikti Invasion by "swapping" the binary values of the first two variables following the SKY command, as follows:
Sky "Type" | Demo Code |
---|---|
Normal/Default Sky | 0 SKYFILE SKY 1 0 1.000000 |
Invasion Sky | 0 SKYFILE SKY 0 1 1.000000 |
The operational state of the War Walls is controlled by the DYNARRAY command by changing the first value of the array data between "100" (for active or "up" War Walls) and "0" (for inactive or "down" War Walls). These command lines, when there is only a single data set attached to the DYNARRAY command, are as follows:
War Walls Active/Up: 0 DYNGROUPS DYNARRAY |100,0 War Walls Inactive/Down: 0 DYNGROUPS DYNARRAY |0,0
When there is more than one element specified by the DYNARRAY command (such as for the pillbox status boards in Atlas Park), then the first data set in the array controls the War Walls (when War Walls are present), like so:
War Walls Active/Up: 0 DYNGROUPS DYNARRAY |100,0|100,0|100,0|100,0|50,0|100,0|50,0|50,0 War Walls Inactive/Down: 0 DYNGROUPS DYNARRAY |0,0|100,0|100,0|100,0|50,0|100,0|50,0|50,0
How To Make Characters Walk
How to make player characters walk.
How To Do "Greenscreening"
Using a "null" (or junk) Map name to create endless blue sky and diving deep down the Z axis to hide the clouds (verify). Creates "bluescreen" background. Link to Greenscreen
How To Manage Destructible Objects
Object-based NPCs that are classed as "destructible" have a variable appearance based on their Health. Sometimes, this variable appearance is as simple as destroyed and not-destroyed, but some destructible objects also have multiple different Health-dependent appearances, including, for example, partly-damaged states. Perhaps the most common example of such a destructible object is the bank vault door found in a Mayhem Mission. This object has an undamaged appearance (Health greater than 50%)and a damaged appearance (Health less than 50%, but greater than 0%).
To make these destructible objects appear correctly in demos, you must assign a Health state to the models using the HP and HPMAX commands. If this is not done, then the game engine will assume that the Health of the objects are zero and will treat the models as "destroyed." This usually, but not always, means that the model of the destructible object will not have a visible appearance in the demo playback.
Hence, if you are adding destructible objects to a demo file (or replacing a non-destructible entity with a destructible one), the associated demo code for these destructible objects must include the HP and HPMAX command lines for them, like so:
0 23 NPC v_destcldrn_cauldron 0 23 MOV READY 0 0 23 HP 150.00 0 23 HPMAX 150.00
Setting the HP equal to HPMAX will give you the default, undestroyed and undamaged appearance for the destructible object. If an object model was not appearing during demo playback when this code was absent, the adding of this code should cause the object to appear. If a destructible object possesses transitional appearances, the value for HP can be adjusted relative to HPMAX to obtain these other states of appearance. However, not all destructible objects have transitional appearances. Examples of destructible objects with multiple transitional appearances include the Paladin Construction model and the Rikti A Bomb (UXB) model.
Not all object models are destructible. Some which are include the text "dest" in the model name, and the presence of this text in the model name typically provides confirmation that an object is destructible. However, there are also destructible models that do not include "dest" in the model name and which provide no indicator in the model name that they are destructible. If in doubt, the HP and HPMAX command lines can be added to the demo code for any model. It will not affect demo playback to add this code to a model which is not destructible.