# NIF File Format Documentation

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

## NiCamera

Camera object.

### 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 NiCamera
Unknown Short | ushort |  |  |  |  | Unknown. | 10.1.0.0 |
Frustum Left | float |  |  |  |  | Frustrum left. |  |
Frustum Right | float |  |  |  |  | Frustrum right. |  |
Frustum Top | float |  |  |  |  | Frustrum top. |  |
Frustum Bottom | float |  |  |  |  | Frustrum bottom. |  |
Frustum Near | float |  |  |  |  | Frustrum near. |  |
Frustum Far | float |  |  |  |  | Frustrum far. |  |
Use Orthographic Projection | bool |  |  |  |  | Determines whether perspective is used. Orthographic means no perspective. | 10.1.0.0 |
Viewport Left | float |  |  |  |  | Viewport left. |  |
Viewport Right | float |  |  |  |  | Viewport right. |  |
Viewport Top | float |  |  |  |  | Viewport top. |  |
Viewport Bottom | float |  |  |  |  | Viewport bottom. |  |
LOD Adjust | float |  |  |  |  | Level of detail adjust. |  |
Unknown Link | Ref<NiObject> |  |  |  |  | Unknown. |  |
Unknown Int | uint |  |  |  |  | Unknown. Changing value crashes viewer. |  |
Unknown Int 2 | uint |  |  |  |  | Unknown. Changing value crashes viewer. | 4.2.1.0 |
Unknown Int 3 | uint |  |  |  |  | Unknown. |  | 3.1

### Parent Of