BSPSysArrayEmitter
From GECK
BSPSysArrayEmitter is an emitter for particle systems that evenly spawns particles across a NiNode and its children Nodes recursively. It randomizes the position, rotation, and scale of each NiNode when each particle is spawned.
Its fields are:
- Name: The name of the modifier. Presumably should always be BSA.
- Order: 1000 seems to be the only one used, it's an emitter related flag.
- Target: The particle system you wish to affect.
- Active: If the modifier is enabled. You can animate this value by specifying the name of the modifier as the Controller ID in a NiControllerSequence and using a NiPSysModifierActiveCtlr as a controller with a NiBoolTimelineInterpolator as the interpolator.
- Speed: Sets the initial speed of particles in units per second.
- Speed Variation: Sets a second speed value to randomize the particle velocity evenly between a range of the value of Speed and this value.
- Declination: Defines the declination angle in radians.
- Declination Variation: Sets a second declination value to randomize the declination angle evenly between a range of the value of Declination and this value.
- Planar Angle: Defines the planar angle in radians.
- Planar Variation: Sets a second planar value to randomize the planar angle evenly between a range of the value of Planar Angle and this value.
- Initial Color: Defines the initial RGBA hex color of particles spawned by this emitter.
- Initial Radius: Defines the initial size of particles spawned by this emitter.
- Radius Variation: Sets a second size value to randomize the size of particles evenly between a range of the value of Initial Radius and this value. Behaves bizarrely if set larger than Initial Radius as the particle size can become negative.
- Life Span: The initial lifespan of newly spawned particles in seconds.
- Life Span Variation: Sets a second value to randomize the particle lifespan evenly between a range of the value of Life Span and this value.
- Emitter Object: A NiNode tree to base the emitter array on.
Notes
- BSPSysArrayEmitter has three modes, but two of them are impossible to use as it is hardcoded to use the NiNode one. One uses geometry and uses vertices as emitters and normals for directions similar to NiPSysMeshEmitter, and the other uses a type of Extra Data to specify NiNodes in a tree so that only those are used for particle emitters.