BhkRigidBody

From GECK
Jump to: navigation, search

bhkRigidBody and bhkRigidBodyT are NIF blocks that control how collision and physics act in various different ways.

Settings

  • Layer: The Collision layer used which can have various different effects.
  • Flags and Part Number: Used for actors, should be 0 for most meshes.
Body Part Part Number
Other 0
Head 1
Body 2
Spine1 3
Spine2 4
LUpperArm 5
LForeArm 6
LHand 7
LThigh 8
LCalf 9
LFoot 10
RUpperArm 11
RForeArm 12
RHand 13
RThigh 14
RCalf 15
RFoot 16
Tail 17
Shield 18
Quiver 19
Weapon 20
PonyTail 21
Wing 22
Pack 23
Chain 24
AddonHead 25
AddonChest 26
AddonArm 27
AddonLeg 28
Null 29 - 31
  • Broad Phase Type:
Type Description
BROAD_PHASE_INVALID
BROAD_PHASE_ENTITY Used by most NIFs.
BROAD_PHASE_PHANTOM
BROAD_PHASE_BORDER
  • Collision Response:
Type Description
RESPONSE_INVALID
RESPONSE_SIMPLE_CONTACT Used by most NIFs.
RESPONSE_REPORTING
RESPONSE_NONE
  • Process Contact Callback Delay: (65535 for most NIFs)
  • Havok Filter Copy:
    • Layer: Should usually be set to the same layer as the other.
    • Flags and Part Number: Used for actors, should usually be set to same setting as the other.
  • Translation: XYZ translation of the collision body, value is only used on RigidBodyT blocks.
  • Rotation:
  • Linear Velocity:
  • Angular Velocity:
  • Inertia Tensor: Multiple values that determine how hard it is for the object to turn on a given axis. Used for physics. All values should be 0s on statics.
  • Center: XYZ values that set the center of mass. Used for physics.
  • Mass: How heavy the object is, the higher the value the heavier the object is. A value of 0 means the object has infinite mass which is normally used for statics. A value over 100 will prevent the player from Havok grabbing the object which is defined by the Grab Max Weight Settings.
  • Linear Damping: (0.100000 on most NIFs)
  • Angular Damping: (0.050000 on most NIFs)
  • Friction: (0.400000 on most NIFs)
  • Restitution: (0.400000 on most NIFs)
  • Max Linear Velocity: (1068.000000 on most NIFs)
  • Max Angular Velocity: (31.570000 on most NIFs)
  • Penetration Depth: (0.150000 on most NIFs) Serves as general guideline for havok for how much is allows penetration on the object. Lower values decrease clipping and decrease performance when the object is moving, higher values increase performance but allow more penetration to occur. The Motion Quality type increases the effect this setting has. This setting also works on statics, useful for preventing the player or other actors from getting stuck in an object.
  • Motion System: The motion system used for Havok physics.
Type Description
MO_SYS_INVALID Behaves as a immovable static, shouldn't be used.
MO_SYS_DYNAMIC
MO_SYS_SPHERE_INERTIA Used for most spherical physics objects.
MO_SYS_SPHERE_STABILIZED
MO_SYS_BOX_INERTIA Used for the vast majority of physics objects of most collision shapes.
MO_SYS_BOX_STABILIZED
MO_SYS_KEYFRAMED Used for most actors and animated statics like doors.
MO_SYS_FIXED Object will not move. Should be used for immovable objects like statics.
MO_SYS_THIN_BOX Increases physics stability for objects that have thin collision at the cost of the object being unable to receive impact force from projectiles.
MO_SYS_CHARACTER
  • Deactivator Type: Controls whether or not the physics object gets put into an inactive "rest" state after some time on the ground.
Type Description
DEACTIVATOR_INVALID
DEACTIVATOR_NEVER Used by statics or physics objects you want to never stop moving.
DEACTIVATOR_SPATIAL Used by most physics objects.
  • Solver Deactivation: Controls how aggressively the engine will stop an object from moving while on the ground. The higher the setting the quicker the object will stop moving. More aggressive values can stop an object that is clipping into the ground or another object from moving.
Type Description
SOLVER_DEACTIVATION_INVALID
SOLVER_DEACTIVATION_OFF Object won't stop moving until either friction or damping causes it to lose all speed. Also the setting commonly set on statics.
SOLVER_DEACTIVATION_LOW Used by most physics objects.
SOLVER_DEACTIVATION_MEDIUM
SOLVER_DEACTIVATION_HIGH
SOLVER_DEACTIVATION_MAX
  • Motion Quality:
Type Description
MO_QUAL_INVALID
MO_QUAL_FIXED Should be used for immovable objects.
MO_QUAL_KEYFRAMED Used for most actors and animated statics like doors.
MO_QUAL_DEBRIS Used for most physics objects.
MO_QUAL_MOVING Better at keeping the object from clipping into geometry. Increased Penetration Depth effect.
MO_QUAL_CRITICAL Aggressively tries to prevent the object from clipping or leaving the world. Maximum Penetration Depth effect.
MO_QUAL_BULLET Use this for very fast objects.
MO_QUAL_USER
MO_QUAL_CHARACTER
MO_QUAL_KEYFRAMED_REPORT
  • Body Flags: Set to 1 if you want the collision to be affected by wind from weather.

See Also