Unigine.JointBall Class
Inherits: | Joint |
This class is used to create ball joints.
Example#
The following code illustrates connection of two bodies (b0 and b1) using a ball joint.
JointBall joint = new JointBall(b0, b1);
// setting joint axis coordinates
joint.setWorldAxis(new vec3(1.0f, 0.0f, 0.0f));
// setting common joint constraint parameters
joint.setLinearRestitution(0.8f);
joint.setAngularRestitution(0.8f);
joint.setLinearSoftness(0.0f);
joint.setAngularSoftness(0.0f);
// setting angular damping
joint.setAngularDamping(16.0f);
// setting swing angular limit, in degrees
joint.setAngularLimitAngle(30.0f);
// setting twist angular limits, in degrees [-20; 20]
joint.setAngularLimitFrom(-20.0f);
joint.setAngularLimitTo(20.0f);
// setting number of iterations
joint.setNumIterations(16);
See Also#
- A set of UnigineScript API samples located in the <UnigineSDK>/data/samples/joints/ folder:
- ball_00
- ball_01
- ball_02
- ball_03
- ball_04
- ball_05
- ball_06
JointBall Class
Properties
vec3 WorldAxis#
The joint axis. the joint axis is calculated based on the axes of the connected bodies.
set
Sets a joint axis. This method updates axes of the connected bodies.
set value -
Joint axis.
float AngularLimitTo#
The high twist limit angle. twist limit specifies how much a connected body can twist around the joint axis.
set
Sets a high twist limit angle. Twist limit specifies how much a connected body can twist around the joint axis.
set value -
Angle in degrees. The provided value will be saturated in the range [-180; 180].
float AngularLimitFrom#
The low twist limit angle. twist limit specifies how much a connected body can twist around the joint axis.
set
Sets a low twist limit angle. Twist limit specifies how much a connected body can twist around the joint axis.
set value -
Angle in degrees. The provided value will be saturated in the range [-180; 180].
float AngularLimitAngle#
The swing limit angle. swing limit specifies how much connected bodies can bend from the joint axis. 0 means there is no limit.
set
Sets a swing limit angle. Swing limit specifies how much connected bodies can bend from the joint axis.
set value -
Angle in degrees. The provided value will be saturated in the range [0; 180]. 0 means no limit.
float AngularDamping#
The angular damping of the joint.
set
Sets an angular damping of the joint.
set value -
Angular damping. If a negative value is provided, 0 will be used instead.
vec3 Axis1#
The axis of the second connected body.
set
Sets an axis of the second connected body.
set value -
Axis of the second body. The provided vector will be normalized.
vec3 Axis0#
The axis of the first connected body.
set
Sets an axis of the first connected body.
set value -
Axis of the first body. The provided vector will be normalized.
Members
static JointBall ( ) #
Constructor. Creates a ball joint with an anchor at the origin of the world coordinates.static JointBall ( Body body0, Body body1 ) #
Constructor. Creates a ball joint connecting two given bodies. An anchor is placed between centers of mass of the bodies.Arguments
- Body body0 - First body to be connected with the joint.
- Body body1 - Second body to be connected with the joint.
static JointBall ( Body body0, Body body1, vec3 anchor ) #
Constructor. Creates a ball joint connecting two given bodies with an anchor placed at specified coordinates.Arguments
- Body body0 - First body to be connected with the joint.
- Body body1 - Second body to be connected with the joint.
- vec3 anchor - Anchor coordinates.
static JointBall ( Body body0, Body body1, vec3 anchor, vec3 axis ) #
Constructor. Creates a ball joint connecting two given bodies with specified axis coordinates and an anchor placed at specified coordinates.Arguments
- Body body0 - First body to be connected with the joint.
- Body body1 - Second body to be connected with the joint.
- vec3 anchor - Anchor coordinates.
- vec3 axis - Axis coordinates.
Last update:
2020-07-31
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)