User Tools

Site Tools


reference_guide:helpers_external_objects:tp_joint_bt

tP Joint BT

The tP Joint BT helper object is used for thinkingParticles to define joint parameters outside of the standard thinkingParticles workflow. This helper is only valid in conjunction with the new BulletPhysics operator! No other dynamics engine offered by thinkingParticles supports this helper right now.

Being a standard 3ds Max helper object it can be easily adjusted and handled with standard 3ds Max modeling tools. As well, it has MaxScript-accessible properties and methods that can be used to automate the creation and modification of the joint helpers.

Be aware that in order to properly import the objects and have them recognized by thinkingParticles you must import all the source objects (and not the joint helpers) into the SAME Object2Particle operator, AND specify the SC operator you will be using (in the lower rollout of the Obj2Particle). Importing the tP Joint BT helper is not required - when all the source objects are imported into the same Obj2Particle the joints will be recognized.

Obj2Particle has an input for “Joint Code” which corresponds to the Joint Break Code on the tP Joint BT helper. If you input a code with an animated value (or any other method) which matches the SC Joint Helper break code, then the joints with that code will break.

Controls 

Fast Access Drop down - this first drop down menu gives quick access to all other joint helpers in a scene. Selecting a joint helper from this list, saves you time searching it in the 3d scene.

Joint Type Drop down - seven possible joint types are supported by this helper object. Please see the list of Joint Types below.

From - choose an object to act as the “From” object. Remember both the From and To objects must be defined in order for the joint to work.

To - choose an object in the scene to act as the “To” object.

Align From/To - aligns the joint axis either along the From or To link partner. This affects how the joint behaves if the type is a Cylindrical, Hinge, Ball, Spring and Slider.

Set Position - brings up a choice of 3 positions.

Average - sets the joint “between” the “From” and “To” link partners (e.g. averages the object pivot positions).

Center of From - places the joint helper into the center point of the “From” link partner

Center of To - places the joint helper into the center point of the “From” link partner Select - used to select either the “From” object or the “To” object or Both link partners

Display 

Size - sets the absolute/relative size of the Joint helper icon in the Viewport.

Viewport Size - check this option to keep the same size in the Viewport, regardless of the zoom level.

Joint Rollout Menu

Depending on the joint type selected, the Rollouts will update to show the properties available for that joint type. Below are the joint types and their parameters.  

Point to Point Joint

pointtopoint.jpg

Use this Joint option to create a fixed type joint between objects

Collision - check this option to allow for collision detection between Joint objects

Breakable - when checked this Joint is able to break off

Impulse- sets the maximum velocity allowed before the Joint “breaks off”

Code - defines a fixed code or number to break off this joint

Light - sets an illumination threshold for breaking off this Joint

Damping - sets a dampening value for this joint

Hinge Joint

hingecontstraint.jpg

Choose this option to create a “Hinge” type joint between Objects

Collision - check this option to allow for collision detection between Joint objects

Breakable - when checked this Joint is able to break off

Impulse- sets the maximum velocity allowed before the Joint “breaks off”

Code - defines a fixed code or number to break off this joint

Light - sets an illumination threshold for breaking off this Joint

Angular Limit - when checked, the angular limits are in effect

Lower - defines the lower rotational constraining angle of this joint. A disc, or a segment thereof visually represents the angular constraint of this joint axis.

Upper - defines the upper rotational constraining angle of this joint. A disc, or a segment thereof visually represents the angular constraint of this joint axis.

Bias - sets the tolerance for a correctional force to counteract an error in the simulation when the limits are reached. The higher this value the loser the limit becomes ( objects may go over the limit).

You should be aware of the fact that physics engines may show all kinds of weird behavior,mostly because they use numbers to calculate their simulations. Using numbers isn't a bad thing on its own, it's how they are used. Doing calculations over and over again let's say a 1000 times, it is very likely to introduce a bigger error by adding up even the smallest amounts of errors on each cycle.

Relaxation - Sets the amount of bounciness when the limit is reached.  The higher the amount the more the object will bounce off the limits.

Motor Enable - When checked, the motor is enabled and in action.  A motor is nothing else than a constant force that is applied to the object

Velocity - sets the amount of velocity to be used to move the object along its joint axis.

Max Impulse - Sets the maximum allowed impulse. Most physics engines use an impulse based model, hence the need to use impulses on nearly every aspect of the simulation.  Due to possible errors when doing physics simulations, it is a good idea to restrict the maximum impulse that can be applied to a calculation.

Cone Twist Joint

To create rag dolls, for example,  the cone twist constraint is very useful for limbs; like the upper arm. It is a special point to point constraint that adds cone and twist axis limits. The x-axis serves as a twist axis.

Collision - check this option to allow for collision detection between Joint objects

Breakable - when checked this Joint is able to break off

Impulse- sets the maximum velocity allowed before the Joint “breaks off”

Code - defines a fixed code or number to break off this joint

Light - sets an illumination threshold for breaking off this Joint

Limit - defines the angular limits of this joint.

X-Twist Span - sets the limits for the X-axis (mirror ).

Y-Twist Span - sets the limits for the Y-axis (mirror)

Z-Twist Span - defines the maximum possible limits for the Z-axis (mirror).

Softness - sets the “softness” of the joint. The higher the value, the softer the joint becomes.

Bias - sets the tolerance for a correctional force to counteract an error in the simulation when the limits are reached. The higher this value the loser the limit becomes ( objects may go over the limit).

You should be aware of the fact that physics engines may show all kinds of weird behavior,mostly because they use numbers to calculate their simulations. Using numbers isn't a bad thing on its own, it's how they are used. Doing calculations over and over again let's say a 1000 times, it is very likely to introduce a bigger error by adding up even the smallest amounts of errors on each cycle.

Relaxation - sets the amount of bounciness when the limit is reached.  The higher the amount the more the object will bounce off the limits.

Damping - defines the dampening force for this joint.

Slider Joint

slider_constraint.jpg

The slider constraint allows the body to rotate around one axis and translate along this axis.  

Collision - check this option to allow for collision detection between Joint objects

Breakable - when checked this Joint is able to break off

Impulse- sets the maximum velocity allowed before the Joint “breaks off”

Code - defines a fixed code or number to break off this joint

Light - sets an illumination threshold for breaking off this Joint

Angular Limit - when checked, the angular limits are active and evaluated.

Lower - sets the lower angular limit of this joint.

Upper - sets the upper angular limit of this joint.

Softness - controls the “bounciness” or springiness of the joint. The higher this number the more the joint will bounce back from its limits.

Angular Motor - when checked the angular motor becomes active. This motor is a constant force applied to the attached joint object.

Velocity - defines the force along the limit axis. The higher this value the faster the object attached to the joint will move.

Max Impulse - sets the maximum impulse allowed to apply to the joint object. This parameter is meant to be a last resort to avoid “exploding” joints caused by induced calculation errors from the solver side.

D6 Joint

The D6 joint is the mother of all joints, in fact it is so flexible you can make out of this joint any other type of joint.  This joint allows access and control of all the axes.

Collision - check this option to allow for collision detection between Joint objects

Breakable - when checked this Joint is able to break off

Impulse- sets the maximum velocity allowed before the Joint “breaks off”

Code - defines a fixed code or number to break off this joint

Light - sets an illumination threshold for breaking off this Joint

Angular Group of Controls

Lower X,Y,Z - either axis may be checked individually, when checked the lower and upper limits become active for the selected axis. The angular restrictions or limits are visualized in the 3ds Max view port with the help of half disks or pie charts along with arrows to give a visual feedback of the angular restrictions.

Upper X,Y,Z -either axis may be checked individually, when checked the lower and upper limits become active for the selected axis. The angular restrictions or limits are visualized in the 3ds Max view port with the help of half disks or pie charts along with arrows to give a visual feedback of the angular restrictions.

Motor X,Y,Z - activates the motor for each of the axis.  The motor acts as an independent force that is constantly applied to the selected axis.

Velocity - sets the force the motor will use to drive or move the joint. This force can be adjusted/set for each axis.

Max Impulse - sets the maximum impulse allowed to apply to the joint object. This parameter is meant to be a last resort to avoid “exploding” joints caused by induced calculation errors from the solver side.

Linear Group of Controls

Lower X,Y,Z - either axis may be checked individually, when checked the lower and upper limits become active for the selected axis. The linear restrictions or limits are visualized in the 3ds Max view port with the help of half disks or pie charts along with arrows to give a visual feedback of the linear restriction limits.

Upper X,Y,Z -either axis may be checked individually, when checked the lower and upper limits become active for the selected axis. The linear restrictions or limits are visualized in the 3ds Max view port with the help of half disks or pie charts along with arrows to give a visual feedback of the linear restrictions.

Motor X,Y,Z - activates the motor for each of the axis.  The motor acts as an independent force that is constantly applied to the selected axis.

Velocity - sets the force the motor will use to drive or move the joint. This force can be adjusted/set for each axis.

Max Impulse - sets the maximum impulse allowed to apply to the joint object. This parameter is meant to be a last resort to avoid “exploding” joints caused by induced calculation errors from the solver side.

D6 Spring Joint

The D6 spring joint offers similar functionality  as  found in the D6 joint.  However, the main difference is that this joint type also offers additional controls for spring behavior. Please note, you cannot mix a motor and spring in the same joint.  

Collision - check this option to allow for collision detection between Joint objects

Breakable - when checked this Joint is able to break off

Impulse- sets the maximum velocity allowed before the Joint “breaks off”

Code - defines a fixed code or number to break off this joint

Light - sets an illumination threshold for breaking off this Joint

Angular Group of Controls

Lower X,Y,Z - either axis may be checked individually, when checked the lower and upper limits become active for the selected axis. The angular restrictions or limits are visualized in the 3ds Max view port with the help of half disks or pie charts along with arrows to give a visual feedback of the angular restrictions.

Upper X,Y,Z -either axis may be checked individually, when checked the lower and upper limits become active for the selected axis. The angular restrictions or limits are visualized in the 3ds Max view port with the help of half disks or pie charts along with arrows to give a visual feedback of the angular restrictions.

Motor X,Y,Z - activates the motor for each of the axis.  The motor acts as an independent force that is constantly applied to the selected axis.

Velocity - sets the force the motor will use to drive or move the joint. This force can be adjusted/set for each axis.

Max Impulse - sets the maximum impulse allowed to apply to the joint object. This parameter is meant to be a last resort to avoid “exploding” joints caused by induced calculation errors from the solver side.

Spring X,Y,Z - check any of the spring axes to activate a spring for the selected axis. Keep in mind, when motor is checked for any of this axes as well, the spring will be inactive!

Stiffness - sets the overall strength of the sprint. The higher this value the stronger the forces of the spring will be.

Damping - defines a counter force for the spring, it is the main force that will stop a spring from “springing”.

Linear Group of Controls

Lower X,Y,Z - either axis may be checked individually, when checked the lower and upper limits become active for the selected axis. The linear restrictions or limits are visualized in the 3ds Max view port with the help of half disks or pie charts along with arrows to give a visual feedback of the linear restriction limits.

Upper X,Y,Z -either axis may be checked individually, when checked the lower and upper limits become active for the selected axis. The linear restrictions or limits are visualized in the 3ds Max view port with the help of half disks or pie charts along with arrows to give a visual feedback of the linear restrictions.

Motor X,Y,Z - activates the motor for each of the axis.  The motor acts as an independent force that is constantly applied to the selected axis.

Velocity - sets the force the motor will use to drive or move the joint. This force can be adjusted/set for each axis.

Max Impulse - sets the maximum impulse allowed to apply to the joint object. This parameter is meant to be a last resort to avoid “exploding” joints caused by induced calculation errors from the solver side.

Spring X,Y,Z - check any of the spring axes to activate a spring for the selected axis. Keep in mind, when motor is checked for any of this axes as well, the spring will be inactive!

Stiffness - sets the overall strength of the sprint. The higher this value the stronger the forces of the spring will be.

Damping - defines a counter force for the spring, it is the main force that will stop a spring from “springing”.

Rope Anchor Joint

The rope anchor joint is a special purpose joint type that only works with soft body objects, in this case the rope object. There are no parameters to adjust for this joint type. By definition, this is a ball  joint attached objects are free to move around and rotate around that joint.  

Collision - check this option to allow for collision detection between Joint objects

Breakable - when checked this Joint is able to break off

Impulse- sets the maximum velocity allowed before the Joint “breaks off”

Code - defines a fixed code or number to break off this joint

Light - sets an illumination threshold for breaking off this Joint

Spline Knot - sets the vertex number of the spline object to be used by this joint. Rope Anchor Joints can only be placed on spline knots (vertices) and nowhere else.

Soft-body Cluster

Collision - check this option to allow for collision detection between Joint objects

Breakable - when checked this Joint is able to break off

Impulse- sets the maximum velocity allowed before the Joint “breaks off”

Code - defines a fixed code or number to break off this joint

Light - sets an illumination threshold for breaking off this Joint

Linear - when checked; movement along the axis is allowed

Angular - when checked; rotation is possible along all axis

Steering - controls the rotation around the selected Axis (see below)

Steering Axis - sets the axis to rotate around.

Motor - when checked; it activates the motor for each of the axis. The motor acts as an independent force that is constantly applied to all axis.

Velocity - sets the force the motor will use to drive or move the joint.

Max Torque - sets the maximum impulse allowed to apply to the joint object. This parameter is meant to be a last resort to avoid “exploding” joints caused by induced calculation errors from the solver side.

 

 

©2024, cebas Visual Technology Inc.

reference_guide/helpers_external_objects/tp_joint_bt.txt · Last modified: 2024/01/24 18:34 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki