Shader Property (BSLightingShaderProperty or BSEffectShaderProperty): holds lighting and texture information.NiTriShapeData: the actual mesh data (vertices, normals, tangents, UV map).Animations are defined in Controller blocks, or in child nodes of the shader property.Ī NiTriShape can have the following child properties among others: The surface material is defined by a shader property block, either a Lighting Shader or an Effect Shader. The root node will usually have attached metadata blocks that activate other nif properties like animation, Havok physics, and inventory display. It is most commonly a BSFadeNode (static bodies), a NiNode (skinned rigged meshes like armors), or a BSLeafAnim/tree node (plants). The root node always has a block ID of 0. Nifs are organized into blocks or nodes arranged in a hierarchy or 'tree.' Each block has various properties that define how it functions in the game.