Part: Difference between revisions
pc>Kurai3 No edit summary |
m 2 revisions imported: Importing Portal Corps Wiki pages and history - Feb 6, 2020 |
(No difference)
|
Latest revision as of 10:02, 6 February 2020
This is official Paragon Documentation discovered in the CoH Costume Updater Utility.
Gravity
Gravity 0.0
Every frame, change the particle's velocity by this much on the y axis. Positive gravity moves down, negative gravity moves up. (rem: if WorldOrLocalPosition = local means local gravity, too)
Drag
Drag 0.0
Range: 0 to 1
Air resistance per frame, between 0.0 and 1.0. The particle's speed is multiplied by this number every frame. Therefore 0.0 = vacuum of space, 1.0 = air is like rock.
Burst
Burst 1
The burst of particles that appears when the system is born. Useful for kick-starting systems.
NewPerFrame
NewPerFrame 0.0
All time is measured in 30ths of a second. 1 frame = 1/30th of a second. This can be a fraction. Not making this unnecessarily high is important for performance.
BurbleAmplitude
BurbleAmplitude 1.0
Burbling is a way to vary the number of particles that are newly created each frame. It's much easier to explain on a white board than write down. Mostly you can set BurbleAmplitude to 0.0 and ignore it.
BurbleType
BurbleType 0
Which Burble function to use
0 = Sine Wave: use a sine wave to vary the number of new particle.
1 = Random Curve: use a noise function to vary the number of new particles.
BurbleFrequency
BurbleFrequency 1.0
How quickly to move through the burble function.
BurbleThreshold
BurbleThreshold 0.0
Between 0 and 1. The cut off below which the system won't burble at all this frame.
EmissionLifeSpan
EmissionLifeSpan 0.0
After the age of the particle system exceeds this number, the system continues to run but no longer emits. Similar to maxparticles, but does not require calculating rate of creation. Values of 0.0 or less are ignored.
EmissionLifeSpanJitter
EmissionLifeSpanJitter 0.0
Adds +/- jitter to the emission lifespan. For example, EmissionLifeSpan of 100 with EmissionLifeSpanJitter of 50 means you will get values from 50 to 150, uniformly distributed.
EmissionType
EmissionType 0
Where new particles appear
0 = Point: Emit from system's origin position
1 = Line: Emit at random points along a line between the system's origin point and 'other' point. (To use this parameter, you must define a second point using 'POther' in the fxinfo file that owns this system.)
2 = Cylinder Emit at a random point on a cylinder defined in x and z by EmissionRadius and in y by EmissionHeight. (EmissionHeight 0.0 gives you a circle.)
3 = Even Trail: Emit evenly along a line from the system's current position to its position last frame. Useful for preventing clumping in traveling effects.
4 = Sphere: Emit randomly on a sphere defined by the EmissionRadius
5 = Line Even: Emit evenly along a line between the system's origin point and 'other' point. (To use this parameter, you must define a second point using 'POther' in the fxinfo file that owns this system.)
EmissionRadius
EmissionRadius 0.0
:Used when emission type is cylinder or sphere
EmissionHeight
EmissionHeight 0.0
:Used when emission type is cylinder
EmissionStartJitter
EmissionStartJitter 0.0 0.0 0.0
x, y, z. Area around emission point in which a new particle can randomly appear. (Bug note: for world space particles, EmissionStartJitter is NOT xformed by the particle system's matrix like InitialVelocity is. I'll try to fix this. )
InitialVelocity
InitialVelocity 0.0 0.0 0.0
Starting speed of a particle in x,y,z.
InitialVelocityJitter
InitialVelocityJitter 0.0 0.0 0.0
Random Starting speed of a particle in x,y,z. Useful for burst effects. (Bug note: for world space particles, InitialVelocityJitter is NOT xformed by the particle system's matrix like InitialVelocity is. I'll try to fix this. )
VelocityJitter
VelocityJitter 0.0 0.0 0.0
Per frame random change in speed and direction per particle. Makes particles seem to wander aimlessly. Combined with a strong initial velocity, they start out purposeful, then wander off. Combined with a magnet, they act mothlike. Too much of this quickly causes particles to leave the scene.
Magnetism
Magnetism 0.0
Every frame, change the particle's velocity by this much on the x,y,and z axes in the direction of the magnet defined by the fx. (Negative magnetism repels)
WorldOrLocalPosition
WorldOrLocalPosition 0
The fx system that owns this particle system will give it a matrix every frame based on the node the system is attached to. The particle system uses this matrix to position itself in one of two ways:
0 = World: Particles are placed in world space. Particles use the matrix for their starting position, and to transform new particle's InitialVelocity
1 = Local: Particles are placed in local space. All transforms on particles in this system are relative to this matrix. So when the matrix moves, all particles in the system move with it.
FrontOrLocalFacing
FrontOrLocalFacing 0
0 = Front: particles face the camera (mostly this is right)
1 = Local: particles face up the y axis of the particle system's matrix (See WorldOrLocalPostion)
Stickiness
Stickiness 1.0
Special feature to keep particle systems whose origin point moves from breaking apart. Every frame the particle tries this much to keep up with the movements of its emitter.
0.0 particles ignore the movements of the emitter
1.0 particles copy 100% of the movement of the emitter in addition to their other movements
MoveScale
MoveScale 1.0
Scale the number of particles emitted by the movement rate of the system. So if a system was motionless, emit zero particles, if the system moved 1 foot, emit NewPerFrame particles, and if the system moved 10 feet, emit NewPerFrame x 10 particles. Notes: EmissionType 3 (Even Trail) is a natural fit with this parameter. Also, remember that local systems (WorldOrLocalPosition 1) only know they are moving when they are moving relative to their parent.
Negative MoveScale dampens new per frame. The curve is a little different than positive move scale, so small moves have relatively little effect on the particle output, but there's a pretty quick drop off to zero output.
TightenUp
TightenUp 0.0
Pull the particle toward the camera by this much (or push it away for negative values). Useful for reducing clipping with geometry. For example, fire particles on a torch look better with a little TightenUp. Too much looks weird, especially on the edges of the screen because of the simple frontfacing particle draw routine.
StreakType
StreakType 0
0 = NOSTREAK ignore streaking
1 = VELOCITY direction of velocity, Use StreakScale and StreakDirection
2 = GRAVITY streak upwards by gravity times StreakScale
3 = ORIGIN connect back to the start point
4 = MAGNET connect back to the magnet point
5 = OTHER connect back to the other point
7 = CHAIN connect to the particle created right before you
8 = VPARENT direction of parent's velocity, Use StreakScale and StreakDirection
StreakScale
StreakScale 20
Makes streaks longer than they would otherwise be by this factor. For example, if you are scaling by velocity, and the velocity is 2, StreakScale 20 would make the actual scale value be 2 * 20 = 40 and stretch the particle to 40 times more than it would otherwise be.
StreakOrient
StreakOrient 1
Whether or not to try to orient stretched particles toward the camera. Almost always 1, (which incidentally disables spin). StreakOrient 0, Combined with spin, used for tree leaves. Possibly flying glass?
1 = Orient try your best to make this particle front facing
0 = No Orient don't try to make this particle front facing
StreakDirection
StreakDirection 1
Which direction to apply the StreakScale, in the direction you are going, or the direction you came from.
0 = The direction you came from
1 = The direction you are going
KickStart
KickStart 1
If you want a world effect to appear as if had been going on forever instead of initializing once it's draw distance is reached and then begin to create particles. If you use this, you also need to use TimeToFull. Example:
KickStart 1 TimeToFull 30 (This will advance the particle system to one second into it's life.)
TimeToFull
TimeToFull 0
Default is 10. It is how long the system takes to get to full strength. Useful for world fx like fountains that need to appear and disappear.
AlwaysDraw
Flags AlwaysDraw
There is a new scheme for not updating particle systems that aren't visible. Some particle systems are tricky, though, and we might not want them to not update. For them we can add Flags ALWAYSDRAW.
SortBias
SortBias 0.5
adjusts draw order in the z buffer to compersate for alpha sorting issues. Particularly useful if you have several systems with almost, but not quite the same center point, and aren't additive. Fixes flickering as it changes which system gets drawn first.
DieLikeThis
DieLikeThis :BobbleDeath.part
Gives system parameters to switch to when the system is told to die. New system can't have newperframe or burble. All the particles begin to obey the rules of the new system. (Note if the system died because it was out of particles in the first place, this parameter has no meaning.) 0 = don't go to any other system.
DeathAgeToZero
DeathAgeToZero 0
0 = keep the particles' ages from the old system.
1 = when you go to the death system, reset the age of all the particles to zero.
StartSize
StartSize 5.0
Start size of new particles (relative to sprite texture size).
StartSizeJitter
StartSizeJitter 0.1
Variation in StartSize per particle. Thus StartSize 5.0 and StartSizeJitter of 6.0 means particles will start between 2.0 and 8.0 in size.
ExpandRate
ExpandRate 0.1
Amount to change the size of the particle per frame. Positive or negative. Particle grows (or shrinks if ExpandRate is negative.)
ExpandType
ExpandType 0
What to do when the particle reaches it's end size.
0 = Expand Forever. Ignore EndSize and grow at the ExpandRate your whole life.
1 = Expand and Stop. When you come to the EndSize, stop growing.
2 = Ping Pong. When you come to EndSize, shrink back to StartSize, repeat.
EndSize
EndSize 5.0
Not used if ExpandRate or ExpandType is 0.
OrientationJitter
OrientationJitter 0
When a particle is created, this is the range of angles it can appear at. Range is 0 to 128.
0 = always appear straight up and down.
128 = appear at a random orientation.
Spin
Spin 0
turn this much (-127 to 127). Positive spins cw, negative, ccw. Disabled if streakorient is used. NEW: This is adjusted for framerate and has a reasonable range now...
SpinJitter
SpinJitter 5
Add or subtract as much as this from Spin
A Spin of 5 with SpinJitter of 10 means each particle will be given a spin between -5 and 15. SpinJitter is only calculated once, when the particle is created.
Blend_mode
Blend_mode Normal
Normal (string, or integer 0). fog IS applied - Basically AlphaBlend
Additive (string, or integer 1). fog IS NOT applied
Subtractive (string, or integer 2). fog IS NOT applied
PreMultipliedAlpha (string, or integer 3). Not working quite as expected right now
Multiply (String, or integer 4). - Multiples background by RGB of sprite.
SubtractiveInverse (String, or integer 5). - For use with subtractive color customization. Works like Subtractive mode, but inverts the RGB value right before rendering. (This allows the player, and the artist, to select color swatches in the character creator and see those same colors, instead of their inverses, appear in the power.)
TextureName
TextureName white.tga
Texture 1 name. Always maps the entire texture, so be sure to fill the texture up, otherwise the particle will seem small, but you are still paying the fill cost for a big particle.
TexScroll1
TexScroll1 0.0 0.0 0.0
Vector by which to scroll the texture every frame. The z value is disregarded.
TexScrollJitter1
TexScrollJitter1 0.0 0.0 0.0
Vector by which to change TexScroll Vector each frame, much like VelocityJitter.
AnimFrames1
AnimFrames1 12
Number of Frames of Animation to play. Zero (or one) is no animation. You've gotta set up the frames in the texure in this format:
<=2 frames: 2x1 <= 4 frames: 2x2 <= 8 frames 4x2 <=16 frames 4x4 <=32 frames: 8x4
AnimPace1 0.1
How many animation frames to play every game frame. 0.5 means play one frame every other game frame, or 15 frames per second
AnimType1 0
What happens when the animation ends:
0 = loop
1 = go to the end and stop
2 = ping pong
TextureName2
TextureName2 spark.tga
Name of the second texture (default white) This texture has it's own version of all the parameters of the first(TexScroll2, TexScrollJitter2, AnimFrames2, AnimPace2, AnimType2)
Alpha
Alpha 255
Maximum alpha value of the particles in this system. In other words, the alpha of the particle after it has faded completely in, but before it begins to fade out. If you leave it out, it will default to 255.
FadeInBy
FadeInBy 20
Alpha starts at zero, and goes to its full intensity (defined by Alpha) by this frame. Set this to 0 to get it to pop to full opacity.
FadeOutStart
FadeOutStart 40
On this frame, start to fade out, and fade to 0 opacity by the FadeOutBy frame. Set FadeOutStart and FadeOutBy to the same to get it to pop out of existance.
FadeOutBy
FadeOutBy 60
Die on this frame. Make sure FadeInBy <= FadeOutStart <= FadeOutBy.
StartColor
StartColor 255 255 255
The RGB color of the particle when it is created. If ByTime1 is 0, this will always be the particle's color.
ColorChangeType
ColorChangeType 0
When the particle comes to the end of the ByTime/BeColor sequencer, what should it do?
0 = Stop at the last color
1 = Loop back to the beginning. (If you use this, you should make the last color equal the StartColor, or the color will pop.)
PrimaryTint
PrimaryTint 0 (Range 0-100) - Inherit this percentage of the Primary color tint from the parent.
SecondaryTint
SecondaryTint 0 (Range 0-100) - Inherit this percentage of the Primary color tint from the parent.
ByTime1
ByTime1 50
ByTime/BeColor is used to change the color of particles over time. ByTime defines the time in frames. BeColor defines the RGB value to use. A Particle System can use up to four ByTime/BeColor definitions. If ByTime is 0, that means stop with the previous Color and ignore this Color and every Color after this. Interpolation between colors is linear. If a ByTime value is greater than the particle's FadeOutBy, the particle will ramp towards the color untill it fades out, but it will never arrive at that final color value. Primary and Secondary tint values are used to specify how much of the primary and secondary tint colors the particle inherits at this point. If the FadeOutTime is longer than any defined Primary or Secondary tint value, the tint value will revert to 0% for both primary and secondary...so make sure that you have a ByTime defined that matches or exceeds the FadeOutTime.
BeColor1
BeColor1 100 200 50
ByTime/BeColor is used to change the color of particles over time. ByTime defines the time in frames. BeColor defines the RGB value to use. A Particle System can use up to four ByTime/BeColor definitions. If ByTime is 0, that means stop with the previous Color and ignore this Color and every Color after this. Interpolation between colors is linear. If a ByTime value is greater than the particle's FadeOutBy, the particle will ramp towards the color untill it fades out, but it will never arrive at that final color value. Primary and Secondary tint values are used to specify how much of the primary and secondary tint colors the particle inherits at this point. If the FadeOutTime is longer than any defined Primary or Secondary tint value, the tint value will revert to 0% for both primary and secondary...so make sure that you have a ByTime defined that matches or exceeds the FadeOutTime.
PrimaryTint1
PrimaryTint1 0 (Range 0-100) - Inherit this percentage of the Primary color tint from the parent.
SecondaryTint1
SecondaryTint1 0 (Range 0-100) - Inherit this percentage of the Primary color tint from the parent.
ByTime2
ByTime2 50
ByTime/BeColor is used to change the color of particles over time. ByTime defines the time in frames. BeColor defines the RGB value to use. A Particle System can use up to four ByTime/BeColor definitions. If ByTime is 0, that means stop with the previous Color and ignore this Color and every Color after this. Interpolation between colors is linear. If a ByTime value is greater than the particle's FadeOutBy, the particle will ramp towards the color untill it fades out, but it will never arrive at that final color value. Primary and Secondary tint values are used to specify how much of the primary and secondary tint colors the particle inherits at this point. If the FadeOutTime is longer than any defined Primary or Secondary tint value, the tint value will revert to 0% for both primary and secondary...so make sure that you have a ByTime defined that matches or exceeds the FadeOutTime.
BeColor2
BeColor2 100 200 50
ByTime/BeColor is used to change the color of particles over time. ByTime defines the time in frames. BeColor defines the RGB value to use. A Particle System can use up to four ByTime/BeColor definitions. If ByTime is 0, that means stop with the previous Color and ignore this Color and every Color after this. Interpolation between colors is linear. If a ByTime value is greater than the particle's FadeOutBy, the particle will ramp towards the color untill it fades out, but it will never arrive at that final color value. Primary and Secondary tint values are used to specify how much of the primary and secondary tint colors the particle inherits at this point. If the FadeOutTime is longer than any defined Primary or Secondary tint value, the tint value will revert to 0% for both primary and secondary...so make sure that you have a ByTime defined that matches or exceeds the FadeOutTime.
PrimaryTint2
PrimaryTint2 0 (Range 0-100) - Inherit this percentage of the Primary color tint from the parent.
SecondaryTint2
SecondaryTint2 0 (Range 0-100) - Inherit this percentage of the Primary color tint from the parent.
ByTime3
ByTime3 50
ByTime/BeColor is used to change the color of particles over time. ByTime defines the time in frames. BeColor defines the RGB value to use. A Particle System can use up to four ByTime/BeColor definitions. If ByTime is 0, that means stop with the previous Color and ignore this Color and every Color after this. Interpolation between colors is linear. If a ByTime value is greater than the particle's FadeOutBy, the particle will ramp towards the color untill it fades out, but it will never arrive at that final color value. Primary and Secondary tint values are used to specify how much of the primary and secondary tint colors the particle inherits at this point. If the FadeOutTime is longer than any defined Primary or Secondary tint value, the tint value will revert to 0% for both primary and secondary...so make sure that you have a ByTime defined that matches or exceeds the FadeOutTime.
BeColor3
BeColor3 100 200 50
ByTime/BeColor is used to change the color of particles over time. ByTime defines the time in frames. BeColor defines the RGB value to use. A Particle System can use up to four ByTime/BeColor definitions. If ByTime is 0, that means stop with the previous Color and ignore this Color and every Color after this. Interpolation between colors is linear. If a ByTime value is greater than the particle's FadeOutBy, the particle will ramp towards the color untill it fades out, but it will never arrive at that final color value. Primary and Secondary tint values are used to specify how much of the primary and secondary tint colors the particle inherits at this point. If the FadeOutTime is longer than any defined Primary or Secondary tint value, the tint value will revert to 0% for both primary and secondary...so make sure that you have a ByTime defined that matches or exceeds the FadeOutTime.
PrimaryTint3
PrimaryTint3 0 (Range 0-100) - Inherit this percentage of the Primary color tint from the parent.
SecondaryTint3
SecondaryTint3 0 (Range 0-100) - Inherit this percentage of the Primary color tint from the parent.
ByTime4
ByTime4 50
ByTime/BeColor is used to change the color of particles over time. ByTime defines the time in frames. BeColor defines the RGB value to use. A Particle System can use up to four ByTime/BeColor definitions. If ByTime is 0, that means stop with the previous Color and ignore this Color and every Color after this. Interpolation between colors is linear. If a ByTime value is greater than the particle's FadeOutBy, the particle will ramp towards the color untill it fades out, but it will never arrive at that final color value. Primary and Secondary tint values are used to specify how much of the primary and secondary tint colors the particle inherits at this point. If the FadeOutTime is longer than any defined Primary or Secondary tint value, the tint value will revert to 0% for both primary and secondary...so make sure that you have a ByTime defined that matches or exceeds the FadeOutTime.
BeColor4
BeColor4 100 200 50
ByTime/BeColor is used to change the color of particles over time. ByTime defines the time in frames. BeColor defines the RGB value to use. A Particle System can use up to four ByTime/BeColor definitions. If ByTime is 0, that means stop with the previous Color and ignore this Color and every Color after this. Interpolation between colors is linear. If a ByTime value is greater than the particle's FadeOutBy, the particle will ramp towards the color untill it fades out, but it will never arrive at that final color value. Primary and Secondary tint values are used to specify how much of the primary and secondary tint colors the particle inherits at this point. If the FadeOutTime is longer than any defined Primary or Secondary tint value, the tint value will revert to 0% for both primary and secondary...so make sure that you have a ByTime defined that matches or exceeds the FadeOutTime.
PrimaryTint4
PrimaryTint4 0 (Range 0-100) - Inherit this percentage of the Primary color tint from the parent.
SecondaryTint4
SecondaryTint4 0 (Range 0-100) - Inherit this percentage of the Primary color tint from the parent.
ColorOffset
ColorOffset 0 0 0
ColorOffset is RGB, but each color can be positive or negative, and is added to the whole color path.
For example: ColorOffset -10 0 34 & ColorOffsetJitter 0 50 0, will shift the red by -10 (out of 255), the green by between -50 and 50, and the blue up by 34. If the offset or the jitter causes an RGB value to go below 0 or above 255, it is capped at those values.
ColorOffsetJitter
ColorOffsetJitter 0 0 0
ColorOffsetJitter is also RGB, and is added on top of ColorOffset to the whole colorpath. ColorOffsetJitter is randomly calculated once per particle system, but not per-particle. So each time you create a particle system, the ColorOffset will be jittered by the ColorOffsetJitter, but it will be the same for every particle in that particle system. Doing it per-particle would incur a significant performance hit.
For example: ColorOffset -10 0 34 & ColorOffsetJitter 0 50 0, will shift the red by -10 (out of 255), the green by between -50 and 50, and the blue up by 34. If the offset or the jitter causes an RGB value to go below 0 or above 255, it is capped at those values.
IgnoreFxTint
Flags IgnoreFxTint
This flag will prevent the system from being colorshifted by the parent FX. This normally occurs, for instance, when a particle system is attached to a costume piece.