Demo Editing/Demo How To Info

From Homecoming Wiki
Revision as of 02:45, 30 July 2008 by imported>Scuzzbopper (historical) (→‎How To Make Invisible Models: More notes in invisible)
Jump to navigation Jump to search

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. There 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 (although applying the standard associated FX lines to be compliant with normal FX conventions may be advisable), as can be seen here:

Back Alley Brawler
Normal appearance
Back Alley Brawler
GHOSTED.FX applied

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 the 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."

Also possible by creating a null costume. See: [1]. This method allows application of MOV effects not possible with Puddle. This method might also allow invisibility effects by applying an aura (costume or FX) to the otherwise null costume.

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.