Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Aurora Emitter (helper object)

Emitters are the basis for a large number of the visual effects found in the game.  Wether Whether it be the fire dripping from your magical sword, the water mists from a water elemental to the pyrotechnics of the most powerful magics. You will find emitters at their base.

...

So get to know your emitter, you'll be the better off for it.

Emitter Style

UpdateThe way the emitter generates particles.
  • Fountain: The particles are emitted in a fountain based on the spread value. Anything from a single line to a spherical shape can be accomplished
  • Single: Emits one particle. As an example using this and a gridded texture you could easily display a magic mouth talking. Another setting Loop Single causes this to emit more than once otherwise it emits one time
  • Explosion: The emitter doesn't emit anything until a detonate event is signaled on a keyframe in an animation that includes it. Then it fires off one burst based on its settings. You create events using the Aurora Base. Note that ALL explosion emitters in a single model will react to the detonate event and go off simultaneously.
  • Lightning: Generates Point 2 Point lighting effects. Lightning emitters require a target object to work. The target object is a Aurora Reference which is the child of the p2p emitter.
Renderhow the particles are rendered once generated.
  • Normal: Particles are generated that constantly rotates to face the camera
  • Linked: Same as above except all particles touch and are stretched where necessary to do so. Example use the ring texture and you can generate an almost chain appearance.
  • Billboard to Local Z: Particles face the way they came out regardless of camera movement. Note this will cause them to vanish from the opposite side as particles are one sided. Good idea to turn on twosided for this method.
  • Billboard to World Z: Particles face upwards
  • Aligned to World Z: ?
  • Aligned to Particle: The particles are aligned to the angle at which they leave the emitter. This has a subsetting of deadspace.
  • Motion Blur: Stretches the particles along the path of travel severely and then overlaps them as well
BlendThe 3 blend modes for texture type emitters.
  • Normal: use as simple texture mapped object (including texture alpha channel (if any))
  • Punch-Through
  • Lighten: use lighten mode, so any pixel that is lighter than the background gets displayed - that way you can use textures without an alpha channel, as black will always be see-through
Spawn Typedetermines the type of emitter
  • Normal - Emits Particles based on Birthrate per second
  • Trail - Birthrate sets # of particles per meter, leaves a trail when moving


Emitter Parameters

Icon SizeHeight of the conerepresenting the emitter. Not used at the moment.
X-Size

Y-Size
The X and Y dimensions in cm of the emitter. From this you can see that an

emitter is in fact a square surface from which the particles are emitted. A size of a 0,0 is a single point. A particle is emitted randomly within the boundaries of the x/y values (in cm). So a X and Y value of 100 each would emit in the boundaries of +/- 50 cm of the emitters position.


Since NWmax 0.8 the emitter also creates a shape that shows the actual emitter area.
Note that while the value can be set very high, the NWN engine seems to cap emitter sizes at 500cm x 500cm .

Inherit PropertiesThese determine where the particle gets it's velocity from, other than it's set velocity. Leaving these values blank means there is no inheritance. No inheriatnce means that the particles created have no tie to the local xyz of the emitter object
  • Inherit: The particals inherit the emitters Z axis and will stick to it like glue, particals in this option will stick to the emitters Z axis (direction its fireing the particals in) as well as it's world XYZ, This is used on the weapon effects in NWN like the fire swords. imagine them like a heap of small balls stuck to wires radiating from a larger ball in the middle, if the middle ball is rotated or moved around they all follow it, but in this instance the smaller balls are also following and traveling along the direction of their wires. The player effect in the cone of cold spell uses this, a sphere of snow particals swirling around the player.
  • Local: Visually its the same as inherit from emitter, but instead of particles sticking to the emitter, they stick to where they spawn from. So if you have a moving emitter, the particles will stay where they spawned, regardless of whether the emitter is.
  • Velocity: The particles inherit velocity from the motion of the emitter object
  • Part(icle): If this is on and Inherit velocity is ALSO on the particle will stretch depending on the speed its going at. With it checked on its own its as you mentioned, just the same as the others
Render OrderA priority to help the Auoroa Engine determine the order in which to render different emitters in the scene. The lower the number, the higher priority particles emitted from that emitter have in the scene. So if you had emitter1 set to 0 render order, and emitter2 set to 1 render order, emitter1 particles will appear over the emitter2 particles.
ThresholdFrom Alex Scott at Bioware - the distance away from the gravity point that the particle will be killed off. A value of 0 will let the particles pass through the gravity center and loop back in an orbital pattern. This is for the Point to Point particle type, (Gravity Field) -> the other components are Drag and Grav Pull.
Combine timeFrom Alex Scott at Bioware - Combine time = Transition Factor. Point to Point emitters that are labeled Bezier Path have 3 settings, Transition factor, SRC tangent and Trg Tangent. Transition Factor - how long it takes the particles to flow from one point to the other along

the path.

DeadspaceFrom Alex Scott at Bioware- View Direction Dead Space - If "aligned" particles travel directly at the camera they are invisible and wasted. Specifying a dead space in degrees ether side of the camera allows for more particles to be spawned in visible directions. A value of 12 is best.


Emitter Particles

Start color
End color
Starting and ending colour of the emitter particles. This is the final colour as the particles life span finishes
Alpha start
Alpha end
Starting and ending alpha value
Size X/Y start
Size X/Y end
Starting and ending height - If you leave the Y-values at 0.0 they will use the same value as the X axis.
BirthrateThe rate of particle birth per second
Life ExpThe life of each particle in seconds
MassEffectively the weight of the particles - positive values make the particle fall down, negative values make it float up
SpreadThe degree of spread they can leave the emitter by, from 0 to 360 degrees. Where anything over 180 is going backwards from the direction the emitter is facing
Particle Rotthe amount of rotation the particle has expressed in rotations per second
Velocityinitial speed of the particle in meters per second
Random VelAn amount from 0 to x that will be added to the base Velocity
Bounce Coefficientthe degree of bounce a partical will have when it hits a static walkmesh and the Bounce flag is set
Blur LengthHow much a motion blur particles stretches.
LoopThis causes single update emitters to loop.
BounceThe particle bounces against and static walkmesh
TintedWill tint the particles to the ambient colour of the scene
SplatOn collision the particle is placed flat (face up) on the contacting surface
Affected by Winddoes wind effect the particles


Emitter Texture/Chunk

Texturethe texture that this emitter uses
Two-sidedIf the particle is visible from both sides
Grid widthnumber of images across the texture
Grid heightnumber of images down the texture
Speedthe number of images to show per second
First Frame0 based index
Last Frame0 based index. A 4x4 texture has 16 images indexed 0 to 15
Random PlaybackRandom starting point for playback
Chunkthe model name to use for a chunk. Overrides the texture settings if this field is filled in.

The ones commonly used for emitters are:
plc_chunk_m01 - metal
plc_chunk_s01 - stone
plc_chunk_s02 - stone
plc_chunk_w01 - wood
plc_chunk_w02 - wood


Emitter Advanced

DelayLightning Parameter, how fast the emitter is updated
Peak RadiusLighning Parameter, the radius in which the Lightning 'impacts'
SubdivisionsLighning Parameter, the number of subdivisions along the line from emitter to the reference object
ScaleLighning Parameter, the maximum range a subdivision can fluctuate on the lightning
RadiusThis setting allows a burst of wind to be emitted. This is how big of a radius the wind effects. This causes dangly objects to move, as well as emitter particles that are affected by wind.
LengthThis specifies how long the wind stays in effect.
OpacityFrom Alex Scott at Bioware - Opacity scale - How transparent is the blurred section. 0 to 1. (1 being fully visible) Relates to Motion Blurred render style. Opacity and Length scale, both go form 0 - 1.
Use P2PSets it up as a p2p emitter. These require a reference node that must be a child of the emitter. If not, it will crash the game. p2p emitters cannot be used on tiles or placeables. God I hope this gets fixed.
Bezier/GravityBezier emitters use the SRC and TRG properties, while Gravity emitters use the Gravity and Drag properties.
SRC (Source)Tangent The arc length for the first half of a p2p emitter.
TRG (Target) TangentThe arc length for the second half of a p2p emitter.
GravityProperty of certain p2p emitters that allows the particles to be pulled towards the reference node as if there was a gravitational pull. The higher the value, the faster they are pulled.
DragOn p2p gravity emitters, it causes particles to shoot past the reference node then double back towards it. The higher the value, the farther the particles shoot past the reference node.

You can animate some of these properties so that they change during the course of the animation playing (e.g., birthrate). All the value spinners including the color values in the particle menu roll down can be animated. However, the Loop, Tinted, Bounce and Wind check boxs cannot be animated. You will have to play around with others because there may be more which can be adjusted through animation.


CPU overhead

From Danmar:

An emitter emits two polygon squares which have textures mapped to them. An emitter with 100 birthrate emits 200 polygons. There is also the fact of longevity. I've not done any real tests to see if birthrate = that many particles existing at one point in time regardless of longevity or if that many particles are generated every X.X seconds and the longer the longevity period the more particles that exist at any one time.

...

Note: this content was rescued from the Wayback Machine's archive for http://ccg.animecafe.net/index.php?title=Aurora_Emitter


How to (by MerricksDad) [WIP]

A simple series of tutorials using OC content as examples.

Emit A Basic Puff

Key concepts:

  • constructing the emitter plane
  • understanding update, render, and blend
  • picking a texture
  • using a single frame sprite
  • using black and white sprites with Lighten blend type
  • using color, alpha and size
  • understanding life expectancy and birthrate

...

Finally, lifeExp defines the time the particle remains in existence. In this case 1 second. Particles that reach the end of their lifetime will be erased, even if they were still opaque and large on screen. It's a good practice to make sure particles fade out proportionally with their lifeExp time unless you specifically want something else. In the case of Lighten blend mode, simply shifting to a black color (colorEnd) will do the same thing.

Emit An Animated Puff

Key concepts:

  • using sequential sprite sheets
  • using frame rate and playback
  • using colorized sprites with Lighten blend type

...

Finally, this particle uses a "Fountain" update with a birthrate of 30. Over the course of 1 second, 30 particles will be emitted from the 60x50 cm base rectangle.

Emit A Chunk

Key concepts

  • using chunk models
  • using spread, velocity and particle rotation

...

If you examine this model further, you'll notice that the builder included multiple chunk emitters in the same model, each emitting different sized chunks. You can also use each emitter to produce different chunk types. For instance, one emitter could throw out bones, while another throws out gore. Or in the case of a placeable armoire, you might want to emit drawers, wood chunks, and clothing articles.

Emit A Trail of Smoke

Key concepts:

  • using trail spawn type or not using it (that is the question)
  • using random sprite sheets
  • using alpha-channel-driven sprites with blend Normal
  • using negative mass

...

Torches. Every adventurer needs them, right? But if you want a realistic torch, it won't just emit light and fire, it will also emit smoke. Above we had a nice flame effect which stayed in place with the object parent. A torch has this too, but a torch should trail smoke as the parent object moves. There are two ways of doing this.

Image Modified

If you look at this texture (fxpa_smoke01), it's just a white image. Here I've shown just the alpha channel instead. You'll also note that the texture is twice the quality of the flame texture above.

...

Another possible way of emitting smoke is via a trail spawntype 1. In that scenario the emitter produces puffs of smoke only when the object is in motion. The emission rate is set to X per meter instead of X per second. You can imagine this is not great for torches because emission would halt if the parent unit stops moving.

Emit Via Detonation

Key concepts:

  • using the detonate animation event
  • using the explosion update type

...

If you don't want a specific emitter to blow out at that time, you can set its birthrate to 0 at that particular time.

Emit Lightning

Key concepts:

  • using lightning update type
  • using subdivisions, peak radius, and scale
  • using P2P emitters


Emit Particles And Suck Them Up With Gravity

Key concepts:

  • using P2P emitters
  • understanding gravity, drag and threshold


...

Notice that the reference node orientation is also 0 0 0 0 aka "undefined". It will inherit it's orientation from the parent, which gets it from the emitter node, which in this case is also not specified, so it will get it from the spell which places the effect. In this case, the spell "Implosion" puts the VFX on the floor and points it upward.

Emit Particles And Project Them Toward A Point

Key concepts:

  • using P2P emitters
  • understanding tangents

Emit Chains

Key concepts:

  • using render Linked
  • using inherit_local

...

This effect is paired with inherit_local, which makes particles stay at a position relative to where they were originally spawned.

Emit Wind

Key concepts:

  • using detonate event and explosion update type
  • using radius and length

...

Emitting a lot of wind at once will force grass to lay down more quickly than its animesh properties normally handle. emitting long-length wind will cause grass to lay down for weird lengths.

Emit Darkness

Key concepts:

  • using a light node for other purposes than light

Emit A Particle Under The Caster (Aura or Burst)

Key concepts:

  • using different render alignments

Building A Projectile

Key concepts:

  • using the newly unlocked ProgFx.2da
  • understanding MIRVs

Building A Caster-To-Target Beam

Key concepts:

  • using the newly unlocked ProgFx.2da
  • understanding P2P emitters with progfx

Building A Head-Oriented Particle (helmet, hair, accessory)

Key concepts:

  • using placeable and item models as VFX
  • understanding different render alignments

Intro To Tile Magic

Key concepts:

  • using tile models as VFX
  • aligning a tile walkmesh with an area tile