ColonelJoined: 8/13/2013(UTC) Posts: 824 Location: Right around the corner Thanks: 430 times Was thanked: 184 time(s) in 168 post(s)
|
While trying to understand particle systems, I found this: Originally Posted by: Zatsupachi  You'll have to check under ParticleSystem.ini for examples. But here's the gist of what coding in it looks(I don't take credit for this, I took this someplace else that I don't remember):
Code:
ParticleSystem MyParticleSystem ;Specifies the unique name for this system.
Priority = ;This is what tells the game it's priority in the remove list,
depending on the level of detail the game is running at.
Can be set to
CRITICAL, AREA_EFFECT, WEAPON_TRAIL,
CONSTANT, SEMI_CONSTANT, DEATH_EXPLOSION,
UNIT_DAMAGE_FX, DEBRIS_TRAIL, BUILDUP,
DUST_TRAIL, SCORCHMARK, WEAPON_EXPLOSION.
A setting of ALWAYS_RENDER will ignore LOD and always draw the system.
IsOneShot = ;Dont really know what this does, guess it is for stuff that is used once.
Shader = ;ALPHA uses the texture as it is, explosions and such.
ADDITIVE is for more complex effects like the fusion bomb of mine and uses .dds channels.
You can also use MULTIPLY for blending (less processor intensive than ALPHA).
ALPHA_TEST is unpredictable and can cause issues, do not use.
Type = ;Always use PARTICLE unless you are making a trailer to a missile
or exhaust of some sort then you use STREAK instead.
Other settings are DRAWABLE and VOLUME_PARTICLE.
ParticleName = ;The texture used in the system, with the .tga file extension.
AngleZ = ;The angle of the particle ingame direction to face.
Note that AngleX and AngleY can be used in Generals but do not work in Zero Hour
as they were removed to optimize the particle effects.
AngularRateZ = ;Will rotate the particle ingame.
Note that AngularRateX and AngularRateY can be used in Generals but do not work in Zero Hour
as they were removed to optimize the particle effects.
AngularDamping = ;Makes the rotation smooth (higher number).
VelocityDamping = ;When thrown this does the same higher number.
SlaveSystem = ;Name of secondary particle system to spawn.
SlavePosOffset = X: Y: Z: ;Offset of secondary spawned system from center of existing system.
PerParticleAttachedSystem = ;How many instances of the slave system are attached
per particle of the original system.
Gravity = ;If negative it will go up if less than 1 but greater
than 0 it will kinda float like a feather, if higher than one it will sink.
Lifetime = ;How long it lasts, in milliseconds. The lifetime will extend randomly between the two numbers specified, if both numbers are the
;same then this means an explicit lifetime (will not vary).
SystemLifetime = ;How long to do size effects and color effects, in milliseconds.
Size = ;The size of the particles.
StartSizeRate = ;The rate as to get to the starting size.
SizeRate = ;The rate of resize after.
SizeRateDamping = ;Make resize more smooth, damping is done on a scale specified between the two numbers.
Alpha1 = up to Alpha8 =
;1.00 means not transparent as 0.00 is total transparent the number after it is the time in milliseconds to make it that transparency.
Color1= up to Color8 = R: G: B:
;The color of the particle, the number after is the time in miliseconds to be that color.
ColorScale = ;Negative numbers are darker and positive numbers are brighter.
BurstDelay = ;Delay between bursts, in milliseconds.
BurstCount = ;Actual number of particles to be generated from this effect.
InitialDelay = ;Initial delay to do the first burst, in milliseconds.
DriftVelocity = X: Y: Z: ;After generated it will move in this direction.
VelocityType = ;Can be set to, OUTWARD, SPHERICAL, ORTHO, CYLINDRICAL, HEMISPHERICAL,
or NONE all like they are called will decide how the particles are
oriented when thrown.
VelOutward = ;Used with OUTWARD only.
VelOutwardOther = ;Used with OUTWARD only.
VelCylindricalRadial = ;Used with CYLINDRICAL only.
VelCylindricalNormal = ;Used with CYLINDRICAL only.
VelSpherical = ;Used with SPHERICAL only.
VelHemispherical = ;Used with HEMISPHERICAL only.
VolumeType = ;This sets up the shape of the 'space' that the particles will occupy
when the system is spawned.
Can be set to POINT, LINE, BOX, SPHERE or CYLINDER.
VolCylinderRadius = ;Used with CYLINDER only.
VolCylinderLength = ;Used with CYLINDER only.
VolSphereRadius = ;Used with SPHERE only.
VolLineStart = ;Used with LINE only.
VolLineEnd = ;Used with LINE only.
VolBoxHalfSize = ;Used with BOX only.
IsHollow = ;See through in a way dont really see much of a difference with yes and no.
IsGroundAligned = ;Yes = a shockwave as in 'on the ground'.
IsEmitAboveGroundOnly = ;To save comp precessing try and set this to yes whenever
possible dont need particles underground now do we,
also I think that when set to yes the system will not work over water,
as in a missile hits the water and explodes.
IsParticleUpTowardsEmitter = ;No clue.
WindMotion = ;Can be set to Unused, PingPong or Circular.
PingPong is what the firestorm uses as will give you that effect.
Circular can be used to make a tornado or dust devil like effect if used
correctly.
WindAngleChangeMin =
WindAngleChangeMax =
WindPingPongStartAngleMin =
WindPingPongStartAngleMax =
WindPingPongEndAngleMin =
WindPingPongEndAngleMax =
;Wind is used for things like the the firestorm and normally not used.
All the wind values will determine the speed and change of speed when PingPonging around.
And Well, the only thing you'd use the image editors for if you want custom textures for your particles. And you'd have to make sure to export them to either .tga or .dds Edited by user Friday, August 28, 2020 3:39:28 PM(UTC)
| Reason: Edited the code so it becomes more eye-friendly |
A Muslim, ask me anything about Islam if you want
UTD^Force
Moderator and former map reviewer Big fan of C&C Labs |