NiPSysMeshEmitter

From GECK
Jump to: navigation, search

NiPSysMeshEmitter is an emitter for particle systems that randomly spawns particles from a specifiable parts of a supplied mesh.

An example of a NiPSysMeshEmitter.

Its fields are:

  • Name: The name of the modifier.
  • 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.
  • Num Emitter Meshes: Total number of meshes to emit from.
    • Emitter Meshes: Presumably any form of NiGeometry.
  • Initial Velocity Type: VELOCITY_USE_NORMALS uses the normals of vertices/tris to determine the direction of velocity, VELOCITY_USE_RANDOM randomly assigns velocity directions, and VELOCITY_USE_DIRECTION uses the axis defined in Emission Axis to determine the direction of velocity.
  • Emission Type: EMIT_FROM_VERTICES emits particles from the vertices of the mesh, EMIT_FROM_FACE_CENTER emits particles from the center of each triangle, EMIT_FROM_EDGE_CENTER emits particles from the edges of each triangle, EMIT_FROM_FACE_SURFACE emits particles evenly over each triangle, and EMIT_FROM_EDGE_SURFACE emits particles evenly over each triangle edge.
  • Emission Axis: If VELOCITY_USE_DIRECTION is specified as the Velocity Type, then particles will be emitted from this local axis of the mesh.