Table of Contents
BTJointData
BT JointData can be used to either set or get information about a joint. It requires a Joint input which can be accessed from either BTJointOperator or BTJointCounterOperator. All joints have a specific Joint ID integer and this integer can actually also be used as the Joint input. BTJointOperator can only define Particle From/To, Position From/To/World, and Type, so in order to set additional joint properties BT JointDataOperator is necessary.
Among the many useful features of this operator are its feature to set a joint's ability to break, it's breaking velocity & rotation thresholds, to define or redefine joint types and Particle To/From connections, and to track when a joint has broken (via the Broken output, which outputs 1 continuously when a joint is broken).
Operator Inputs
ON - (Bool) This input data stream determines whether the operator is considered 'on' or 'off.' You can connect other operators to this input channel such as a Bool Helper to activate/deactivate the whole operator.
Time - (Time) This input data stream is used to define the local time for the operator when the user wants to override the default system time.
Joint - inputs the joint ID of the joint to be changed or reads the data from the joint.
Type - lets you set the type of Joint that will be created between the two particles. Possible options are:
<0 = Joint will be deleted 0 = PointToPoint 1 = Hinge 2 = ConeTwist 3 = Slider 4 = D6 5 = D6 Spring 6 = Rope Anchor 7 = Soft-body Cluster
Particle From - sets the “From” particle ID that will be used to create a Joint
Important You must supply both object space positions when using these inputs. One input alone will cause an invalid Joint. This Joint position in space should be the same point in world space for each of positions you feed into these inputs.
Position From - defines the joint position in object space as seen from the “From” particle where the Joint will be placed between the two Joint partners.
Alignment From - inputs the Joint's alignment in object space coordinates that needs to be created between the two particles.
Particle To - sets the “To” particle ID that will be used to create a Joint
Position To - defines the joint position in object space as seen from the “To” particle where the Joint will be placed between the two Joint partners.
Alignment To - inputs the Joint's alignment in object space coordinates that needs to be created between the two particles.
World Position - inputs the Joint's position in world space coordinates that needs to be created between the two particles.
World Alignment - inputs the Joint's alignment in world space coordinates that needs to be created between the two particles.
Breakable - sets if a joint is breakable or not. (a value of 1 means breakable)
Break Impulse - sets the maximum velocity allowed before the Joint “breaks off”
Broken - sets this input to 1 to break the joint immediately
Collision - connect a value of 1 to this input to allow for collision detection between Joint objects
Operator Outputs
Type - outputs the type of Joint that will be created between the two particles. Possible options are:
0 = PointToPoint 1 = Hinge 2 = ConeTwist 3 = Slider 4 = D6 5 = D6 Spring 6 = Rope Anchor 7 = Soft-body Cluster
Particle From - outputs the “From” particle ID that was used to create a Joint
Position From - outputs the joint position in object space as seen from the “From” particle where the Joint will be placed between the two Joint partners.
Alignment From - outputs the Joint's alignment in object space coordinates that needs to be created between the two particles.
Particle To - outputs the “To” particle ID that will be used to create a Joint
Position To - outputs the joint position in object space as seen from the “To” particle where the Joint will be placed between the two Joint partners.
Alignment To - outputs the Joint's alignment in object space coordinates that needs to be created between the two particles.
World Position - outputs the Joint's position in world space coordinates that needs to be created between the two particles.
World Alignment - outputs the Joint's alignment in world space coordinates that needs to be created between the two particles.
Breakable - outputs the state of a joint, if a joint is breakable or not. (a value of 1 means breakable)
Break Vel. Threshold - outputs the maximum velocity allowed before the Joint “breaks off”
Break Rot. Threshold - outputs the maximum allowed rotational speed (angle change per second) before the Joint is broken
Broken - outputs the status of the Joint an output value of 1 indicates a broken joint.
Collision - outputs a value of 1 when collision detection between Joint objects is active, 0 when inactive
Rollout Menus
The BT Joint operator offers only a few settings to adjust. Find below the possible settings:
Collision - lets you choose from the drop down menu the physics engine solver to use for the Joint simulation. All compatible solvers found in the thinkingParticles setup will be automatically listed.
Type - Select from the drop down list the joint type you intend to use with this operator. The thinkingParticles node in the view port will change accordingly. Only the first set of parameters described above will stay the same, all other will change based on the type of joint.
©2024, cebas Visual Technology Inc.