# NIF File Format Documentation

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

## bhkRigidBodyT

Unknown.

### Attributes

Name | Type | Arg | Arr1 | Arr2 | Cond | Description | From | To
--- | --- | --- | --- | --- | --- | --- | --- | ---
From NiObject
From bhkRefObject
From bhkSerializable
From bhkWorldObject
Shape | Ref<bhkShape> |  |  |  |  | Link to the body for this collision object. |  |
Layer | OblivionLayer |  |  |  |  | Sets mesh color in Oblivion Construction Set. |  |
Col Filter | byte |  |  |  |  | The first bit sets the LINK property and controls whether this body is physically linked to others. The next bit turns collision off. Then, the next bit sets the SCALED property in Oblivion. The next five bits make up the number of this part in a linked body list. |  |
Skyrim Layer | SkyrimLayer |  |  |  |  | Physical purpose of collision object? The setting affects objetct's havok behavior in game. |  |
Flags And Part Number | byte |  |  |  |  | FLAGS are stored in highest 3 bits: Bit 7: sets the LINK property and controls whether this body is physically linked to others. Bit 6: turns collision off (not used for Layer SKYL_BIPED). Bit 5: sets the SCALED property. PART NUMBER in a linked body list is stored in lowest 5 bits (used only when Skyrim Layer is set to SKYL_BIPED): 0 - OTHER 1 - HEAD 2 - BODY 3 - SPINE1 4 - SPINE2 5 - LUPPERARM 6 - LFOREARM 7 - LHAND 8 - LTHIGH 9 - LCALF 10 - LFOOT 11 - RUPPERARM 12 - RFOREARM 13 - RHAND 14 - RTHIGH 15 - RCALF 16 - RFOOT 17 - TAIL 18 - SHIELD 19 - QUIVER 20 - WEAPON 21 - PONYTAIL 22 - WING 23 - PACK 24 - CHAIN 25 - ADDONHEAD 26 - ADDONCHEST 27 - ADDONARM 28 - ADDONLEG 29-31 - NULL |  |
Unknown Short | ushort |  |  |  |  | Unknown. |  |
From bhkEntity
From bhkRigidBody
Unknown Int 1 | int |  |  |  |  | Unknown. Could be 2 shorts corresponding to Unknown 7 Shorts[1] and [2]. |  |
Unknown Int 2 | int |  |  |  |  | Unknown. |  |
Unknown 3 Ints | int |  | 3 |  |  | Unknown. Could be 3 floats. |  |
Collision Response? | hkResponseType |  |  |  |  | The collision response. See hkResponseType for hkpWorld default implementations. |  |
Unknown Byte | byte |  |  |  |  | Unknown |  |
Process Contact Callback Delay? | ushort |  |  |  |  | Lowers the frequency for processContactCallbacks. A value of 5 means that a callback is raised every 5th frame. |  |
Unknown 2 Shorts | ushort |  | 2 |  |  | Unknown. |  |
Layer Copy | OblivionLayer |  |  |  |  | Copy of Layer value? |  |
Col Filter Copy | byte |  |  |  |  | Copy of Col Filter value? |  |
Skyrim Layer Copy | SkyrimLayer |  |  |  |  | Copy of Skyrim Layer value? |  |
Flags And Part Number Copy | byte |  |  |  |  | Copy of Flags & Part number? |  |
Unknown 7 Shorts | ushort |  | 7 |  |  | Unknown. Oblivion defaults: 0 21280 2481 62977 65535 44 0 Skyrim defaults: 0 56896 1343 0 0 1 65535 (fourth and fifth element *must* be zero) |  |
Translation | Vector4 |  |  |  |  | A vector that moves the body by the specified amount. Only enabled in bhkRigidBodyT objects. |  |
Rotation | QuaternionXYZW |  |  |  |  | The rotation Yaw/Pitch/Roll to apply to the body. Only enabled in bhkRigidBodyT objects. |  |
Linear Velocity | Vector4 |  |  |  |  | Linear velocity. |  |
Angular Velocity | Vector4 |  |  |  |  | Angular velocity. |  |
Inertia | InertiaMatrix |  |  |  |  | Defines how the mass is distributed among the body. |  |
Center | Vector4 |  |  |  |  | This seems to be used to relocate the object's center of mass. Useful for balancing objects in contraints. |  |
Mass | float |  |  |  |  | The body's mass in kg. A mass of zero represents an immovable object. |  |
Linear Damping | float |  |  |  |  | Damping value for linear movement. A value that is too small fixes the object in place. |  |
Angular Damping | float |  |  |  |  | Damping value for angular movement. |  |
Unknown TimeFactor or GravityFactor 1 | float |  |  |  |  | Unknown. |  |
Unknown TimeFactor or GravityFactor 2 | float |  |  |  |  | Unknown. |  |
Friction | float |  |  |  |  | The body's friction. |  |
RollingFrictionMultiplier? | float |  |  |  |  | Unknown. |  |
Restitution | float |  |  |  |  | The body's restitution (elasticity). If the restitution is not 0.0 the object will need extra CPU for all new collisions. Try to set restitution to 0 for maximum performance (e.g. collapsing buildings) |  |
Max Linear Velocity | float |  |  |  |  | Maximal linear velocity. |  |
Max Angular Velocity | float |  |  |  |  | Maximal angular velocity. Pi x 10? |  |
Penetration Depth | float |  |  |  |  | The maximum allowed penetration for this object. This is a hint to the engine to see how much CPU the engine should invest to keep this object from penetrating. A good choice is 5% - 20% of the smallest diameter of the object. |  |
Motion System | MotionSystem |  |  |  |  | Motion system? Overrides Quality when on Keyframed? |  |
Deactivator Type | DeactivatorType |  |  |  |  | The initial deactivator type of the body. |  |
Solver Deactivation | SolverDeactivation |  |  |  |  | Usually set to 1 for fixed objects, or set to 2 for moving ones. Seems to always be same as Unknown Byte 1. |  |
Quality Type | MotionQuality |  |  |  |  | The motion type. Determines quality of motion? |  |
Unknown Int 6 | uint |  |  |  |  | Unknown. |  |
Unknown Int 7 | uint |  |  |  |  | Unknown. |  |
Unknown Int 8 | uint |  |  |  |  | Unknown. |  |
Unknown Int 81 | uint |  |  |  |  | Unknown. Skyrim only. |  |
Num Constraints | uint |  |  |  |  | The number of constraints this object is bound to. |  |
Constraints | Ref<bhkSerializable> |  | Num Constraints |  |  | Unknown. |  |
Unknown Int 9 | uint |  |  |  |  | 0 = do not respond to wind, 1 = respond to wind (?) |  |
Unknown Int 91 | ushort |  |  |  |  | Unknown. |  |
From bhkRigidBodyT

### Parent Of