This page has been translated automatically.
视频教程
界面
要领
高级
实用建议
专业(SIM)
UnigineEditor
界面概述
资源工作流程
版本控制
设置和首选项
项目开发
调整节点参数
Setting Up Materials
设置属性
照明
Sandworm
使用编辑器工具执行特定任务
如何擴展編輯器功能
嵌入式节点类型
Nodes
Objects
Effects
Decals
光源
Geodetics
World Nodes
Sound Objects
Pathfinding Objects
Players
编程
基本原理
搭建开发环境
使用范例
C++
C#
UnigineScript
UUSL (Unified UNIGINE Shader Language)
Plugins
File Formats
材质和着色器
Rebuilding the Engine Tools
GUI
双精度坐标
应用程序接口
Animations-Related Classes
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Plugins-Related Classes
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes
VR-Related Classes
创建内容
内容优化
材质
Material Nodes Library
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Tutorials

Unigine.JointBall Class

Inherits from: 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.

Source code (C#)
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.

float AngularLimitTo#

The high twist limit angle. twist limit specifies how much a connected body can twist around the joint axis.

float AngularLimitFrom#

The low twist limit angle. twist limit specifies how much a connected body can twist around the joint axis.

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.

float AngularDamping#

The angular damping of the joint.

vec3 Axis1#

The axis of the second connected body.

vec3 Axis0#

The axis of the first connected body.

Members


JointBall ( ) #

Constructor. Creates a ball joint with an anchor at the origin of the world coordinates.

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.

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.

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: 2024-04-19
Build: ()