- Joined
- Apr 24, 2012
- Messages
- 9,802
Credits: @Hermit for Filter Mode research; @tillinghast for animated Gravity error; @GhostWolf for Time & Sort Primitives Far Z definitions, and PE2 Alpha Key functionality; @doom_sheep for Squirt-Visibility interaction
This SD Magos'-centric thread attempts to document Particle Emitters 2.
Orientation axes are Warcraft 3's.
X - Forward
Y - Rightward
Z - Upward
Velocity = Distance covered; influenced by speed, variation, and gravity
Required: A pre-1.29 copy of the game containing the old MPQs that Magos' Editor can navigate.
* = Not observable in Magos', and will have to be tested in-game.
VISIBILITY Toggle: 0 turns off emission, while values over 0 turn it on. | ||||
EMISSION RATE The amount of particles generated per second. The interval between emissions is capped at ~0.05s (?). Going past this threshold will emit those excess particles in bulk. Emission rates below 1 will only create particles if the sequence is longer than 1 second. Visibility and Emission Rate react differently to animation, and so are useful for different situations. For sequences during which they're blank; similar to Geoset & Material Alpha Animations, Visibility toggles on, while Emission Rate results in 0. For convenience - if you want an emitter turned OFF for a minority of animations, animate Visibility. If you want an emitter turned ON for a minority of animations, animate Emission Rate. | ||||
SPEED By default, causes the particle to move towards its Z. This direction can be changed through emitter or parent rotation. Animated changes in speed will only affect newly emitted particles; thus gravity is the only way to accelerate. | ||||
VARIATION The percentage of randomness with which the particle can deviate from its base speed. 1 means speed can go down to zero, or double; and 2 means it can go -1x negative*, or triple. High variation can lead to bottleneck emission when used with Latitude. | ||||
LATITUDE Angles to which the particles will fly, deviating from the emitter's facing direction. A value of 90 means the particles will go towards a semi-spherical area, while 180 removes angular restrictions.
| ||||
WIDTH - Along the X Axis (frontward/backward) LENGTH - Along the Y Axis (left/right) Width and Length determine the rectangular field in which particles are spawned. Magos' Editor displays these properly with MDXs, but not so with MDLs, where they are reversed.
| ||||
GRAVITY An accelerating force that points downwards in the absence of Model Space rotations. Negative values will make the particles go up. Magos' will not save animated Gravity in MDX; only in MDL. Nor will it open any MDX with animated Gravity. |
Flags
UNSHADED* - Will be unaffected by the game's lights. Generally always on for effects. The 'sun' comes from the south west by default. |
UNFOGGED* - Will not be tinted nor shrouded by terrain fog. |
LINE EMITTER* - Whether or not the particles will fly towards two axes instead of three. By default, checking this means the particles will fly YZ. With Latitude, the angles will expand sideways. Example usage in Thunder Clap, where it's used with an emitter rotation to make the particles fly XY. Rotation: { 0, -0.707107, 0, 0.707107 } |
SORT PRIMITIVES FAR Z* - Renders the furthest particles on top. |
MODEL SPACE* - Whether or not the particle moves and rotates with its parent nodes and the model. Model Space sees extensive use in Radiance. |
XY QUAD - Whether or not the particle will be rendered as a flat, one-sided plane facing the Z axis. For consistent rendering, XY emitters require both Latitude and Velocity at 1 or higher; they might not be visible otherwise. XY Quads will rotate to XY angles within Latitude.* With Model Space, they will change facing according to the node's rotation.* XY Quads see extensive use in Void Disc. |
SQUIRT* - Creates all the particles indicated by the Emission Rate at the first keyframe available per animation, instead of over time. If the opening frame of the animation is not set to 0, it will ignore your frame settings and squirt when the animation begins. Visibility animation may be used for sequence-wide settings, but Squirt cannot be timed properly with that alone. Use Emission Rate for this purpose. Used by War Stomp and Thunder Clap. |
HEAD- The default. When rendering an emitter without Head nor Tail settings, the game will consider it a Head emitter. Leaving the Head box unchecked will hide the particles in Magos' only. TAIL* - Whether or not the particle will be followed by a tail facing its flying direction. Tails consider the texture's left as their front. In MDL, mdlvis saves the head setting properly, while changing tails to heads. If both are checked, it saves them both properly. If neither are checked, it checks heads. In MDX, mdlvis saves both settings properly. Tail emitters see extensive use in Piercing Thrust. |
Segments
Each particle from this emitter will fade through the three colors, sizes, and visibilities (alphas), with each segment's duration decided by <Time>. Particles will not scale with the models they're attached to, even if they're Model Space. Scale will still affect emitters' spawn field and velocity. |
Misc
SPRITES ROWS & COLUMNS - Used to indicate what's displayed for sprite textures, starting from the upper left.
HEAD (Life Span & Decay) - Animates sprite textures for head particles, starting from 0. "Life Span" refers to the transition between Segments 1 and 2; while "Decay" refers to that between 2 and 3. REPEAT - How many times the component repeats its run during the particle's lifetime.
| ||||||||||||||
LIFE SPAN - Time before the particle disappears and expires. | ||||||||||||||
TAIL LENGTH* - Segment size only determines width for tails. This is the length; influenced by velocity. | ||||||||||||||
PRIORITY PLANE* - Used to layer/manually determine which particles are displayed on top of each other. Unlike its Material counterpart, Magos' will not save this field in MDL; only in MDX. Adding it to an MDL through other means will make the model unopenable in Magos'. Like its Material counterpart, mdlvis will erase its data. | ||||||||||||||
REPLACEABLE ID* - Inputting the following values will replace the TextureID: 1 - Team Color 2 - Team Glow 11 - Cliff 31 - Lordaeron Tree 32 - Ashenvale Tree 33 - Barrens Tree 34 - Northrend Tree 35 - Mushroom Tree 36 - Sunken Ruins Tree 37 - Outland Tree Example usage in the Wisp, which uses Team Glow tails. Magos' will not save this field in MDL; only in MDX. Adding it to an MDL through other means will make the model unopenable in Magos'. | ||||||||||||||
TIME - The decimal percentage of the lifespan that serves as a midpoint for particle transition. Ideally above 0.00 and below 1.00. The lower the particle Time, the shorter it takes to transition between Segments 1 & 2; while increasing transition time for Segments 2 & 3. |
Filter Modes
Some textures with alpha channels can be used with Blend, while certain black ones are fitted for Modulate. Most of the rest are only viable with Additive. What is listed as "Add Alpha" in Magos' Particle Emitters is actually Alpha Key, where alphas below 0.75 are invisible. Changing an emitter's filter mode to AddAlpha will cause the entire model to display as a green checkered cube in-game. |
Tips
- Black and white colors are useful to prevent your effect from looking monotone, whatever your primary hue is. Use darker particles as cushions below the other particles, or colder colors as outliers, and lighter, warmer ones for the centers. For segment colors, it's recommended to go from light to dark as particles fade.
- Use color variation to your advantage. Fade an emitter to a nearby color over its lifetime.
- It is oftentimes better not to have constant particle size. For sparks, consider having their scaling at 0 for the third segment, while retaining high alpha. On the inverse, dust clouds look better when they fade to 0 alpha in bigger sizes.
- Glows, glows, glows. Use them to give your effect atmosphere. Use smooth glows such as flare.blp for generic light, and thicker ones such as LavaLump2.blp for sparks. Some of the default colored glows are weaker and unsuitable for sparks, so consider using custom ones when necessary.
Things to Know
- Individual particles cannot rotate independently, apart from tails forced to turn by gravity.
- Using MDL/X Converter will remove Billboard settings for Particle Emitter nodes.
In-Game Discrepancies
- Gravity and Speed are calculated differently
- Particles and their movement are rendered smoother in-game; even moreso in the World Editor
Last edited: