Compounds for Position Based Dynamics in bifrost
Created with:
- Maya 2024.2
- Bifrost 2.7.1.1
Set the path to bifrost_lib_config.json
as BIFROST_LIB_CONFIG_FILES
in the environment variable. For example, to place the bifrost_AkPBD folder on the D drive, enter the following in Maya.env:
BIFROST_LIB_CONFIG_FILES=D:\bifrost_AkPBD\bifrost_lib_config.json
Category | Name | Description |
---|---|---|
Core | verlet |
Calculate next position (include gravity and spring) |
Core | keep_position |
Pull back to initial position |
Core | update_velocity |
Calculate velocity from change of position |
Core | reset |
Reset position and velocity |
Constraint | distance_constraint |
Distance constraint (one point fixed) |
Constraint | distance_constraint_2_points |
Distance constraints (2 points can move) |
Constraint | angle_limit |
Angle limit between two vectors |
Collision | ground_collision |
Horizontal infinite XZ plane collision |
Collision | sphere_collision |
Sphere collision |
Collision | capsule_collision |
Capsule collision (individual radius) |
Collision | infinite_plane_collision |
Infinite plane collision |
Collision | mesh_collision |
Mesh collision (*only available in geometry) |
Collision | mesh_collision_with_bulge |
Mesh collision with bulge effects (*only available in geometry) |
Utils | distance |
Distance between two vectors |
Utils | mass_to_weight |
Calculate weight from mass (w=1/m) |
Utils | normalize_weight |
Normalize two float values (total to 1) |
Utils | project_onto_plane |
Project a point or vector onto the XZ plane |
Utils | rotate_vector_around_axis |
Rotate a vector around axis by angle |
Some samples can be accessed from the Bifrost Browser.
Graph | Description | Compounds used |
---|---|---|
boneDynamics | Create the dynamics for one section of bone. One sphere collision and one capsule collision are included as samples. | verlet keep_position update_velocity reset ground_collision sphere_collision capsule_collision distance_constraint distance |
boneDynamicsAngleLimit | It is a type of bone dynamics. Angle limit have been added to the constraint iterates, and changes have been made to use rotation values for input and output from Maya. | verlet keep_position update_velocity reset sphere_collision angle_limit rotate_vector_around_axis distance_constraint distance |
hingeJoint | It is a type of bone dynamics. It is achieved by projecting the corrected position and external force vector onto a certain plane. | verlet keep_position update_velocity reset project_onto_plane distance_constraint distance |
meshCollision | Mesh collision deforms the mesh. The area around the contact point will bulge. *Only available for mesh. | verlet keep_position update_velocity reset mesh_collision_with_bulge |
rope | Create a rope with dynamics and distance constraints at 7 points. Points at both ends can be moved. Sphere and capsule collisions are included. | verlet keep_position update_velocity reset ground_collision sphere_collision capsule_collision distance mass_to_weight distance_constraint distance_constraint_2_points normalize_weight |
softMesh | Create dynamics to the vertices of a mesh. There is weighting by vertex color. One sphere collision is included as a sample. | verlet keep_position update_velocity reset sphere_collision |