VFX editor

From Dragon Age Toolset Wiki
Jump to: navigation, search
Visual effect topics

There are two basic types of visual effects; crust effects and placeable effects. A crust effect is intended to be placed "on" a creature or other object, for example a flame effect to indicate that something is on fire or a glow given by a magical effect. Placeable effects simply exist in a region of space, for example the explosion of a fireball or sparkling dust motes floating in the air.

Visual effects are created using "emitters" that generate "particles". In the case of a crust effect, emitters are linked to specific nodes in the skeletal frame of the creature or placeable that the crust is being applied to. In the case of stand-alone visual effects the emitters are placed in three-dimensional space.

A particle is a two-dimensional image, sometimes animated and usually partially transparent, that moves through space under the control of a physics simulation. Each emitter can be programmed to generate particular types of particles in particular emission patterns.

See the VFX list for a list of existing visual effects, as well as standard naming conventions used in Dragon Age. See VFX_base.xls for information on the 2DA that integrates VFX generated by the VFX editor into the toolset and the game.

Timelines

A visual effect's timeline is divided into three phases; impact, duration, and cessation.

  • The impact phase represents the "lead in" to the visual effect. For example, it could show a fire starting from a small spark and growing to full size, or a building glow as a spell gathers power. The impact phase lasts for a fixed period of time.
  • The duration phase is a section of visual effects that can be repeated over and over for as long as the visual effect is supposed to be running. For example, a flickering fire or a shower of lightning bolts.
  • The cessation phase is similar to the impact phase, lasting for a fixed period of time and showing the visual effect petering out to nothing. A fire could end with the flames dying down and emitting a brief stream of smoke, or a spell could end with a burst of sparks.

Each emitter has a curve that determines how "strongly" it is emitting particles over time, The curve is divided by these three phases.

VFX editor showing crust emitters and an emitter curve

Flipbooks

A VFX particle's texture can be set as a "flipbook", which means that the texture is divided into a grid of smaller images that are shown sequentially to create a simple animated image. For example, here is a texture divided into a four row by four column flipbook:

Fx flamefb01 rescaled.png

By rapidly flipping through the sixteen cells of this image the illusion of a roiling fireball is produced.

Exporting VFX resources

To export a visual effect in a form that can be used by the game, the VFXRoot node needs to be selected. You can then either right-click on the VFXRoot node to reach the "Post to local" command, or find it via the "Tools" menu. The "Post to local" command won't be present unless VFXRoot is selected.

VFXRoot properties

General
Always High LOD True/False
Name Name your Visual Effect Note: This is the resource name, not the art file name - although they can be the same.
VFX Range (meters) This was an old setting for the bounds of the VFX. Don’t think this works anymore, a different method was chosen to set the bounds
VFX Type Either Placeable or Crust, this is defined when the VFX is first created and cannot be changed afterward.
Animation
Impact Length Time in seconds
Duration Length Time in seconds. If the duration time is set to 2 seconds here in the VFX editor but in game the VFX is applied with a 3 minutes duration, the duration still last 2 sec but will loop for 3 minutes
Cessation Length Time in seconds
Custom Animation Length Time in seconds, this adds to the Total animation length. Note: These times apply to all emitters within the Root VFX. You can enter a custom animation type to the effect. This would have to be coordinated with design to call the fx + play its custom animation.
Custom Animation Name Use whatever name you like here. It will be the name of the custom animation part of your FX.
Total Animation Length Impact+Duration+Cessation+Custom Animation Length
Pre-Simulation Time Seconds of VFX time to simulate before rendering in game. For example: use this to get rain to fall all the way to the ground before the player sees the exterior where it is raining.
Buffer Effect 1
Brightness
Contrast
GlowIntensity
HBlurWidth
Name
VBlurWidth
Buffer Effect 2
Name
Buffer Effect 3
Name
Layout Setting
Layout Selects a layout to display in the editor window. Useful to give a sense of scale, a sense of how a visual effect will look against a particular background, or to create visual effects that conform to specific landmarks (eg, a waterfall or fountain)
Layout Visible A true/false toggle to display or hide the selected layout
Material FX
Enable Material FX
Color R
Color G
Color B
Decal Alpha
Decal Name
Fresnel Falloff
Invert Fresnel
Sound Cessation
Pitch
Volume
Sound
Sound Duration
Pitch
Volume
Sound
Sound Impact
Pitch
Volume
Sound

Emitter properties

Properties for visual effect emitters are divided into several tabbed panes.

General
Level of detail (LOD)
Name
Type
Visible true/false
Emitter Type Fountain or Explosion
Update Only When Visible true/false
OrientationBehaviour None, BillboardToEmitterZ, BillboardToWorldZ, AlignedToParticleDirection, AlignedToWorldZ
LinkParticlesTogether true/false
Linked Particles UV Distribution Size
External Tint Parameter Name Alphanumeric and underscores only. You can use the same name across multiple emitters, but it is case sensitive.
Use Variation Tint true/false
Material
Material Library Material Libraries start with fx_*
Material Object Select a Material from the above Lib
Material Library Refresh Click to refresh the emitter
Flipbook Type None, ContactSheet, Volume. This applies to volume texture materials. In this case rows should be the amount of volume layers, and columns be set to 1. Frame rate's the same. Contact sheets may work on that setting too, but may not work properly.
Flipbook Random Start Frame true/false. If true, the particle's animation cycle will start at a randomly selected frame.
Flipbook Rows Defines how many rows there are in the particle texture's flipbook.
Flipbook Columns Defines how many columns there are in the particle texture's flipbook.
Flipbook Frames per Second Determines how rapidly the cells of the flipbook are cycled through.
Material
Chunky Model Name This can use most types of models in the game. You have to apply a chunky material to it to see the results. Instead of camera-facing cards, you get meshes flying around.
Location
Position
Relative Position
Orientation
Relative Orientation

Age Map

General
Color R
Color G
Color B
Color A
Scale X
Scale Y
Animatable Multipliers
Red Color Multiplier
Green Color Multiplier
Blue Color Multiplier
Alpha Multiplier
Scale Multiplier

Emission

Emission
Birth Rate The rate at which the emitter spawns particles. By default this is in particles per second, but see below to make an emitter emit particles only as it moves.
Birth Rate +/- Amount that the particle birth rate will randomly vary. For example, if your emitter has a birth rate of 1 second and a variance of 0.5, particles can be emitted anywhere from 0.5 to 1.5 seconds apart.
Birth Rate in particles/meter When this is false (the default) the birth rate variable defines how many particles are emitted every second. When this is true true, the birth rate defines how many particles are emitted for every meter that the emitter travels. This is useful for creating "trails" of particles.
Initial Speed The speed that particles are traveling when first spawned. The direction is always directly "up" from the emitter along the Z axis, rotate the emitter to send the particles moving in a different direction.
Initial Speed +/- As with Birth Rate +/-, this property puts some random variance into the speed particles are spawned with. The directions are still limited to the same axis.
Acceleration Defines an acceleration along the same axis that the initial speed moves the particles along. Negative values cause the particle to slow to a stop, it doesn't reverse its direction.
Additional Acceleration Space Can be set to "World" or "Object". This defines the coordinate space that the next three acceleration values function in. If set to "world", they apply acceleration relative to the outside world. If set to "object", the acceleration is relative to the orientation of the emitter.
Additional Acceleration X
Additional Acceleration Y
Additional Acceleration Z
Gravity Applies a world-based acceleration downward. This is not exactly the same as adding "Additional Acceleration Z" in a World-based coordinate frame, the units are different (1 unit of gravity acceleration is much faster than 1 unit of additional acceleration)
Life Expectancy (s) How long each particle exists before vanishing.
Life Expectancy +/- Adds a random variance on particle life expectancy
Infinite Life (for Explosion type)
Scale Range Adds a random variance to the size of the particles.
Spawn Spread X (Deg) Angle within which the particle's direction will be randomly varied from the vertical along the X axis. Giving this a positive value and leaving Spawn Spread Y at 0 will cause a "fan" effect oriented along the X axis. The angle measures deviation from the vertical, so putting "90" in here will result in a fan covering 180 degrees (90 degrees in the positive X direction and 90 degrees in the negative direction)
Spawn Spread Y (Deg) Angle within which the particle's direction will be randomly varied from the vertical along the Y axis.
Rotation (revolutions/s)
Rotation (revolutions/s) +/-
Rotational Acceleration
Initial Rotation (Deg)
Initial Rotation (Deg) +/-
Chunky
Roll Orientation
Spawn Orientation

Other

Inheritance
Inherit Velocity Instead Of Position
Particle Inheritance
Colllision
Particles Affected By Wind
Physics Emitter
Collision Type Bounce/Splat
Bounce Value
Bubble Motion
Movement Spread X (Deg)
Movement Spread Y (Deg)
Movement Spread Update Delay (Sec)
Point to Point
Target Name Select an existing emitter target from a drop-down list. Any given emitter can only have one target defined for it, though multiple emitters can use the same target. The subsequent properties in this group determines how particles behave in relation to this target.
Target Attraction Defines how strongly particles accelerate toward the target point, provided they are within the target's radius.
Target Radius Radius within which particles are affected by the target's attraction.
Spawn Direction Tracks Target If true, forces the emitter's effective positive Z direction to always point directly at the target, for purposes of emitting particles. You can still rotate the emitter in any direction but the particle pattern will always be emitted towards the target.
Kill Particle When Target Hit If true, causes particles to vanish as soon as they reach the target. Otherwise the particles will remain at the target until their lifespan expires.
Particles Follow Path  !!Don't know what this one does, perhaps it causes particles to use a walkable path to travel from emitter to target? !!
Volume Spawn
Volume Spawn Type Can be set to None, User Specified Mesh, All Physics Objects, Selected Physics Object, Primitive Mesh, Parent Crust. Each option provides a different set of additional properties:
  • User Specified Mesh
    • Volume Spawn User Specified Mesh Name
    • Spawn within volume
    • Invert Spawn Volume Normal
    • Use Volume Normals For Direction
  • All Physics Objects
    • Spawn on Surface
    • Use Normal For Velocity
  • Selected Physics Object
    • Volume Spawn Selected
  • Primitive Mesh
    • Primitive Mesh Type (can be box, sphere, or cylinder)
      • Box:
        • Primitive Box Min
        • Primitive Box Max
      • Sphere:
        • Primitive Sphere Radius
      • Cylinder
        • Primitive Cylinder Radius
        • Primitive Cylinder Height
        • Primitive Cylinder Alignment
    • Spawn within volume
    • Invert Spawn Volume Normal
    • Use Volume Normals For Direction
  • Parent Crust
    • Spawn on Surface
    • Use Normal For Velocity

Splat

General
Width
Height
Lifetime
Number of Samples H
Number of Samples W
Orientation Range
Splat Material
Material Library
Material Object
Material Library Refresh
Flipbook Type
Flipbook Random Start Frame
Flipbook Rows
Flipbook Columns
Flipbook Frames per Second
Hold last frame

Splat Age Map

General
Color R
Color G
Color B
Color A
Scale X
Scale Y
Animatable Multipliers
Red Color Multiplier
Green Color Multiplier
Blue Color Multiplier
Alpha Multiplier
Scale Multiplier