NIF File Format Documentation

NIF Objects | Compound Types | Enum Types | Basic Types | File Versions

NiParticleSystemController

A generic particle system time controller object.

Attributes

Name Type Arg Arr1 Arr2 Cond Description FromTo
From NiObject
From NiTimeController
Next Controller Ref<NiTimeController> Index of the next controller.
Flags Flags Controller flags (usually 0x000C). Probably controls loops.
Bit 0 : Anim type, 0=APP_TIME 1=APP_INIT
Bit 1-2 : Cycle type 00=Loop 01=Reverse 10=Loop
Bit 3 : Active
Bit 4 : Play backwards
Frequency float Frequency (is usually 1.0).
Phase float Phase (usually 0.0).
Start Time float Controller start time.
Stop Time float Controller stop time.
Target Ptr<NiObjectNET> Controller target (object index of the first controllable ancestor of this object). 3.3.0.13
Unknown Integer uint Unknown integer. 3.1
From NiParticleSystemController
Old Speed uint Particle speed in old files 3.1
Speed float Particle speed 3.3.0.13
Speed Random float Particle random speed modifier
Vertical Direction float vertical emit direction [radians]
0.0 : up
1.6 : horizontal
3.1416 : down
Vertical Angle float emitter's vertical opening angle [radians]
Horizontal Direction float horizontal emit direction
Horizontal Angle float emitter's horizontal opening angle
Unknown Normal? Vector3 Unknown.
Unknown Color? Color4 Unknown.
Size float Particle size
Emit Start Time float Particle emit start time
Emit Stop Time float Particle emit stop time
Unknown Byte byte Unknown byte, (=0) 4.0.0.2
Old Emit Rate uint Particle emission rate in old files 3.1
Emit Rate float Particle emission rate (particles per second) 3.3.0.13
Lifetime float Particle lifetime
Lifetime Random float Particle lifetime random modifier
Emit Flags ushort Bit 0: Emit Rate toggle bit (0 = auto adjust, 1 = use Emit Rate value) 4.0.0.2
Start Random Vector3 Particle random start translation vector
Emitter Ptr<NiObject> This index targets the particle emitter object (TODO: find out what type of object this refers to).
Unknown Short 2? ushort ? short=0 ? 4.0.0.2
Unknown Float 13? float ? float=1.0 ? 4.0.0.2
Unknown Int 1? uint ? int=1 ? 4.0.0.2
Unknown Int 2? uint ? int=0 ? 4.0.0.2
Unknown Short 3? ushort ? short=0 ? 4.0.0.2
Particle Velocity Vector3 Particle velocity 3.1
Particle Unknown Vector Vector3 Unknown 3.1
Particle Lifetime float The particle's age. 3.1
Particle Link Ref<NiObject> Unknown. 3.1
Particle Timestamp uint Timestamp of the last update. 3.1
Particle Unknown Short ushort Unknown short 3.1
Particle Vertex Id ushort Particle/vertex index matches array index 3.1
Num Particles ushort Size of the following array. (Maximum number of simultaneous active particles) 4.0.0.2
Num Valid ushort Number of valid entries in the following array. (Number of active particles at the time the system was saved) 4.0.0.2
Particles Particle Num Particles Individual particle modifiers? 4.0.0.2
Unknown Link Ref<NiObject> unknown int (=0xffffffff) 4.0.0.2
Particle Extra Ref<NiParticleModifier> Link to some optional particle modifiers (NiGravity, NiParticleGrowFade, NiParticleBomb, ...)
Unknown Link 2 Ref<NiObject> Unknown int (=0xffffffff)
Trailer byte Trailing null byte 4.0.0.2
Color Data Ref<NiColorData> Unknown. 3.1
Unknown Float 1 float Unknown. 3.1
Unknown Floats 2 float Particle Unknown Short Unknown. 3.1

Parent Of