# NIF File Format Documentation

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

## NiTextureEffect

Enables environment mapping. Should be in both the children list and effects list of the NiTriShape object. For Morrowind: the bump map can be used to bump the environment map (note that the bump map is ignored if no NiTextureEffect object is present).

### Attributes

Name | Type | Arg | Arr1 | Arr2 | Cond | Description | From | To
--- | --- | --- | --- | --- | --- | --- | --- | ---
From NiObject
From NiObjectNET
Skyrim Shader Type | BSLightingShaderPropertyShaderType |  |  |  | IsDerivedType(BSLightingShaderProperty::TYPE) | Configures the main shader path |  |
Name | string |  |  |  |  | Name of this controllable object, used to refer to the object in .kf files. |  |
Has Old Extra Data | bool |  |  |  |  | Extra data for pre-3.0 versions. |  | 2.3
Old Extra Prop Name | string |  |  |  | hasOldExtraData | (=NiStringExtraData) |  | 2.3
Old Extra Internal Id | uint |  |  |  | hasOldExtraData | ref |  | 2.3
Old Extra String | string |  |  |  | hasOldExtraData | Extra string data. |  | 2.3
Unknown Byte | byte |  |  |  |  | Always 0. |  | 2.3
Extra Data | Ref<NiExtraData> |  |  |  |  | Extra data object index. (The first in a chain) | 3.0 | 4.2.2.0
Num Extra Data List | uint |  |  |  |  | The number of Extra Data objects referenced through the list. | 10.0.1.0 |
Extra Data List | Ref<NiExtraData> |  | Num Extra Data List |  |  | List of extra data indices. | 10.0.1.0 |
Controller | Ref<NiTimeController> |  |  |  |  | Controller object index. (The first in a chain) | 3.0 |
From NiAVObject
Flags | Flags |  |  |  |  | Some flags; commonly 0x000C or 0x000A. | 3.0 |
Unknown Short 1 | ushort |  |  |  |  | Unknown Flag | 20.2.0.7 |
Translation | Vector3 |  |  |  |  | The translation vector. |  |
Rotation | Matrix33 |  |  |  |  | The rotation part of the transformation matrix. |  |
Scale | float |  |  |  |  | Scaling part (only uniform scaling is supported). |  |
Velocity | Vector3 |  |  |  |  | Unknown function. Always seems to be (0, 0, 0) |  | 4.2.2.0
Num Properties | uint |  |  |  |  | The number of property objects referenced. |  |
Properties | Ref<NiProperty> |  | Num Properties |  |  | List of node properties. |  |
Unknown 1 | uint |  | 4 |  |  | Always 2,0,2,0. |  | 2.3
Unknown 2 | byte |  |  |  |  | 0 or 1. |  | 2.3
Has Bounding Box | bool |  |  |  |  | Do we have a bounding box? | 3.0 | 4.2.2.0
Bounding Box | BoundingBox |  |  |  | hasBoundingBox | The bounding box. | 3.0 | 4.2.2.0
Collision Object | Ref<NiCollisionObject> |  |  |  |  | Refers to NiCollisionObject, which is usually a bounding box or other simple collision shape. In Oblivion this links the Havok objects. | 10.0.1.0 |
From NiDynamicEffect
Switch State | bool |  |  |  |  | Turns effect on and off? Switches list to list of unaffected nodes? | 10.1.0.106 |
Num Affected Node List Pointers | uint |  |  |  |  | The number of affected nodes referenced. |  | 4.0.0.2
Num Affected Nodes | uint |  |  |  |  | The number of affected nodes referenced. | 10.1.0.0 |
Affected Node List Pointers | uint |  | Num Affected Node List Pointers |  |  | This is probably the list of affected nodes. For some reason i do not know the max exporter seems to write pointers instead of links. But it doesn't matter because at least in version 4.0.0.2 the list is automagically updated by the engine during the load stage. |  | 4.0.0.2
Affected Nodes | Ref<NiAVObject> |  | Num Affected Nodes |  |  | The list of affected nodes? | 10.1.0.0 |
From NiTextureEffect
Model Projection Matrix | Matrix33 |  |  |  |  | Model projection matrix. Always identity? |  |
Model Projection Transform | Vector3 |  |  |  |  | Model projection transform. Always (0,0,0)? |  |
Texture Filtering | TexFilterMode |  |  |  |  | Texture Filtering mode. |  |
Texture Clamping | TexClampMode |  |  |  |  | Texture Clamp mode. |  |
Unknown | short |  |  |  |  | Unknown. | 20.6.0.0 |
Texture Type | EffectType |  |  |  |  | The type of effect that the texture is used for. |  |
Coordinate Generation Type | CoordGenType |  |  |  |  | The method that will be used to generate UV coordinates for the texture effect. |  |
Image | Ref<NiImage> |  |  |  |  | Image index. |  | 3.1
Source Texture | Ref<NiSourceTexture> |  |  |  |  | Source texture index. | 4.0.0.0 |
Clipping Plane | byte |  |  |  |  | Determines whether a clipping plane is used. 0 means that a plane is not used. |  |
Unknown Vector | Vector3 |  |  |  |  | Unknown: (1,0,0)? |  |
Unknown Float | float |  |  |  |  | Unknown. 0? |  |
PS2 L | short |  |  |  |  | 0? |  | 10.2.0.0
PS2 K | short |  |  |  |  | -75? |  | 10.2.0.0
Unknown Short | ushort |  |  |  |  | Unknown: 0. |  | 4.1.0.12

### Parent Of