NIF File Format Documentation

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

NiAutoNormalParticlesData

Particle system data object (with automatic normals?).

Attributes

Name Type Arg Arr1 Arr2 Cond Description FromTo
From NiObject
From NiParticlesData
Name string Name of this object. 10.2.0.0
Num Vertices ushort Number of vertices. For NiPSysData this is max particles. (For Fallout 3 this is always zero)
Keep Flags byte Used with NiCollision objects when OBB or TRI is set. 10.1.0.0
Compress Flags byte Unknown. 10.1.0.0
Has Vertices bool Is the vertex array present? (Always non-zero.)
Vertices Vector3 Num Vertices hasVertices != 0 The mesh vertices.
Num UV Sets byte Texture flags in lower byte. 10.0.1.0
TSpace Flag byte Methods for saving binormals and tangents saved in upper byte. 10.0.1.0
Has Normals bool Do we have lighting normals? These are essential for proper lighting: if not present, the model will only be influenced by ambient light.
Normals Vector3 Num Vertices hasNormals != 0 The lighting normals.
Tangents Vector3 Num Vertices (hasNormals != 0) && (tspaceFlag & 240) Unknown. Binormal & tangents? 10.1.0.0
Binormals Vector3 Num Vertices (hasNormals != 0) && (tspaceFlag & 240) Unknown. Binormal & tangents? has_normals must be set as well for this field to be present. 10.1.0.0
Center Vector3 Center of the bounding box (smallest box that contains all vertices) of the mesh.
Radius float Radius of the mesh: maximal Euclidean distance between the center and all vertices.
Has Vertex Colors bool Do we have vertex colors? These are usually used to fine-tune the lighting of the model.

Note: how vertex colors influence the model can be controlled by having a NiVertexColorProperty object as a property child of the root node. If this property object is not present, the vertex colors fine-tune lighting.

Note 2: set to either 0 or 0xFFFFFFFF for NifTexture compatibility.
Vertex Colors Color4 Num Vertices hasVertexColors != 0 The vertex colors.
Num UV Sets byte Texture flags in lower byte. 4.2.2.0
TSpace Flag byte Methods for saving binormals and tangents saved in upper byte. 4.2.2.0
Has UV bool Do we have UV coordinates?

Note: for compatibility with NifTexture, set this value to either 0x00000000 or 0xFFFFFFFF.
4.0.0.2
UV Sets TexCoord Num UV Sets Num Vertices The UV texture coordinates. They follow the OpenGL standard: some programs may require you to flip the second coordinate.
Consistency Flags ConsistencyType Consistency Flags 10.0.1.0
Additional Data Ref<NiAdditionalGeometryData> Unknown. 20.0.0.4
Num Particles ushort The maximum number of particles (matches the number of vertices). 4.0.0.2
Particle Radius float The particles' size. 10.0.1.0
Has Radii bool Is the particle size array present? 10.1.0.0
Radii float Num Vertices hasRadii != 0 The individual particel sizes. 10.1.0.0
Num Active ushort The number of active particles at the time the system was saved. This is also the number of valid entries in the following arrays.
Has Sizes bool Is the particle size array present?
Sizes float Num Vertices hasSizes != 0 The individual particel sizes.
Has Rotations bool Is the particle rotation array present? 10.0.1.0
Rotations Quaternion Num Vertices hasRotations != 0 The individual particle rotations. 10.0.1.0
Has Rotation Angles bool Are the angles of rotation present? 20.0.0.4
Rotation Angles float Num Vertices hasRotationAngles != 0 Angles of rotation
Has Rotation Axes bool Are axes of rotation present? 20.0.0.4
Rotation Axes Vector3 Num Vertices hasRotationAxes != 0 Unknown 20.0.0.4
Has Unknown Stuff 1 bool Unknown ushort
Num Unknown Stuff 1 short Unknown
Unknown Stuff 1 Vector4 Num Unknown Stuff 1 hasUnknownStuff1 != 0 Unknown
From NiAutoNormalParticlesData

Parent Of