bulletRigidBodyShape Node

Rigid body shape used in the Bullet dynamics system. This node is from the Bullet plug-in.

Node name Parents MFn type Compatible function sets
bulletRigidBodyShape   MPxLocatorNode  

Attributes

The bulletRigidBodyShape Node has 41 attributes:

Long name (short name) Type Default Flags

bodyType (bdytyp)

enum 1 input connectable storable

Type of motion characteristics for this body.

  • Static Body: does not move
  • Kinematic RigidBody: hand-animatable
  • Dynamic RigidBody: moved by rigid body system after initial position set.

neverSleeps (notslp)

bool false input connectable storable
Dynamic rigid body never sleeps/deactivates. This is for optimization purposes and can help to stop the lasting simmering motion. If never sleeps is enabled, the dynamic rigid body will always participate in the simulation. If never sleeps is disabled, the rigid body will no longer participate in the simulation if its linear velocity's magnitude is below 0.8 and angular velocity's magnitude is below 1.0. The velocity thresholds are currently not exposed for user control. The rigid body will re-engage if it receives an impact.

mass (ms)

float 1.0 input connectable storable keyable
Mass of the object. If mass=0, then rigid body turns kinematic (hand-animatable).

centerOfMass (com)

float3 0.0, 0.0, 0.0 input connectable storable
Center of mass for the object used as the rotational pivot.

linearDamping (lindamp)

float 0.0 input connectable storable keyable
Linear damping for the body

angularDamping (angdamp)

float 0.0 input connectable storable keyable
Angular damping for the body

friction (fric)

float 1.0 input connectable storable keyable
Friction for the body

restitution (restit)

float 0.0 input connectable storable keyable
Restitution for the body

initiallySleeping (initslp)

bool false input connectable storable readable
Dynamic rigid body starts off in a sleeping/deactivated state. This is for optimization purposes. Initially sleeping only affects dynamic rigid bodies that are initially stationary. If initially sleeping is enabled, the stationary dynamic rigid body won't participate in the simulation from the start until it receives an impact. If initially sleeping is disabled, the stationary dynamic rigid body will participate in the simulation from the start.

initialVelocity (iv)

float3 0.0, 0.0, 0.0 input connectable storable

Initial velocity of the object

initialAngularVelocity (iav)

float3 0.0, 0.0, 0.0 input connectable storable
Initial angular (rotational) velocity of the object

inWorldMatrix (inwmat)

matrix   input connectable storable
Initial position for dynamic rigid bodies, and specified position for kinematic ones.

impulse (i)

float3 0.0, 0.0, 0.0 input connectable storable keyable
Impulse force applied to the object at a specified time

impulsePosition (ip)

float3 0.0, 0.0, 0.0 input connectable storable keyable
Position where impulse force will be applied to the object relative to the center of mass at a specified time.

torqueImpulse (ti)

float3 0.0, 0.0, 0.0 input connectable storable keyable
Torque (rotational) impulse force applied to the object at a specified time

colliderShapeType (colshtyp)

enum 1 input connectable storable

Collider primitive or generated collider used as the collider shape for the RigidBody.

  • Box: set the 'extents' for dimensions
  • Sphere: set the 'radius'
  • Capsule: cylinder with sphere caps. Set 'radius' and 'length'.
  • Hull: Convex hull for an input mesh. Preferred over mesh when possible for performance.
  • Mesh: Mesh shape that is not necessarily convex. Limitation: This cannot be a Dynamic RigidBody.
  • Plane: Infinite plane with surface normal pointing up along the Y-Axis. Limitation: This cannot be a Dynamic RigidBody.
  • Cylinder: cylinder. Set 'radius' and 'length'.

inMesh (imesh)

mesh   input hidden connectable storable
input mesh for the collision object as a mesh

axis (axis)

enum 1 input connectable storable

Axis specified for rigid body collision shape of cylinder or capsule type.

  • X: X axis
  • Y: Y axis
  • Z: Z axis

length (len)

float 1.0 input connectable storable
length of the rigid body collision object

radius (rad)

float 0.5 input connectable storable
radius of the rigid body collision object

extents (ext)

float3 1.0, 1.0, 1.0 input connectable storable
extents of the bounding box for the rigid body collision object

currentTime (ct)

time   input hidden connectable storable
Current time for the shape.

startTime (st)

time   input hidden connectable storable
Initializing time for the shape. REVISIT

inParentInverseMatrix (inpim)

matrix   input connectable storable
The RigidBody parent inverse matrix used to calculate the local-space values for outSolvedTranslate and outSolvedRotate

solverInitialized (solinit)

BulletSolverData::id   input connectable storable
SolverData pointer to the initialized solver. Also makes sure data processed in the correct order for new/delete and add/remove.

solverUpdated (solup)

BulletSolverData::id   input connectable storable
stub parameter noting that the solver has been updated for the current timestep

collisionFilterGroup (cfg)

int 0 input storable
The collision filter group determines the collision groups for this rigid body, by default the rigid body belongs to the DefaultFilter group. The first 16 bits of the integer determine the collision filter groups. The display names for the collision filter groups are defined by the Bullet Solver's collision filters attribute.

collisionFilterMask (cfm)

int 0 input storable
The collision filter mask determines which other rigid bodies may collide with this body, by default this rigid body will collide with bodies belonging to the DefaultFilter group.  The first 16 bits of the integer determine the collision filter mask. The display names for the collision filter masks are defined by the Bullet Solver's collision filters attribute.

outColliderData (coldata)

BulletColliderData::id   connectable storable output
Collider shape data (output)

outRigidBodyData (rbdata)

BulletRigidBodyData::id   connectable storable output
Rigid body data (output)

isDrivenBySimulation (isdriven)

bool false connectable storable output
Returns if Rigid Body is driven by the simulation or uses the keyed value for a particular frame. Value determined by frame number, rigid body type, and mass value. Used to connect to pairBlend weight.

outPreSolverWorldTranslate (psowt)

float3 0.0, 0.0, 0.0 connectable storable output
Pre-solved translation (world-space coords) for dynamic rigid body before updated by solver (output)

outPreSolverWorldRotate (psowr)

float3 0.0, 0.0, 0.0 connectable storable output
Pre-solved rotation (world-space coords) for dynamic rigid body before updated by solver (output)

outPreSolverWorldScale (psows)

float3 0.0, 0.0, 0.0 connectable storable output
Pre-solved scale (world-space coords) for dynamic rigid body before updated by solver (output)

outSolvedTranslate (sot)

float3 0.0, 0.0, 0.0 connectable storable output
Solved translation (local-space coords) for dynamic rigid body. Values returned if driven by simulation. (output)

outSolvedRotate (sor)

float3 0.0, 0.0, 0.0 connectable storable output
Solved rotation (local-space coords) for dynamic rigid body. Values returned if driven by simulation. (output)

outPreSolverWorldTranslate (psowt)

point   readable output connectable
Pre-solved translation (world-space coords) for dynamic rigid body before updated by solver (output)

outPreSolverWorldRotate (psowr)

point   readable output connectable
Pre-solved rotation (world-space coords) for dynamic rigid body before updated by solver (output)

outPreSolverWorldScale (psows)

point   readable output connectable
Pre-solved scale (world-space coords) for dynamic rigid body before updated by solver (output)

outSolvedWorldTranslate (sowt)

float3 0.0, 0.0, 0.0 connectable storable output
Solved translation (world-space coords) for dynamic rigid body. Values always returned. (output)

outSolvedWorldRotate (sowr)

float3 0.0, 0.0, 0.0 connectable storable output
Solved rotation (world-space coords) for dynamic rigid body. Values always returned. (output)