Unity--Configurable Joint——实战带你了解可配置关节

那么在关节世界里,怎么才是合理的?如果只有一个轴向是受限制的,其它轴向是锁定的(Locked),那么对象将在受限制的轴向上来回不超过3个单位的移动。其次锚点和连接锚点的Z轴距离由于发生位移了,所以是需要限制的(本地坐标系,非世界坐标系),所以Z Motion要设置为Limited,并且要设置Linear Limit的Limit数值。如果你把图片拉近来看,你会发现这个偏差其实已经完全被纠正了——把锚点和连接锚点放到我们新的坐标系中,Y的值已经一样了(X轴的旋转是自由的,不会纠错,只有Y轴锁定会完全纠错)。
摘要由CSDN通过智能技术生成

目录
关节
Configurable Joint
简介
功能
属性
浅析

  1. 锚点、连接锚点和连接体(Anchor、Connected Anchor and Connected Body)
  2. X/Y/Z Motion and Angular X/Y/Z Motion
    对应Motion的例子
    例子解析
    重点!关于Motion的一些小细节。
    结果
    坐标轴(Axis)
    解析
    实战
    2.1 Y轴方向进行拉伸
    分析
  3. 线性限制(Linear Limits)
    实战
    3.1 绕某一点旋转,并且物体本身可以旋转(钟摆)
    分析
    4.角度偏移(Augular movement)
  4. 线性驱动器(Linear Drives)
  5. 角度驱动器(Angular Drives)
    7.其他剩余的属性
    关节
    关节组件将刚体连接到另一个刚体或空间中的固定点,关节施加使刚体移动的力,而关节限制功能可以限制该移动。

就像是动物的关节一样,例如一个关节连接着两个节点,那么其中一个节点的移动或旋转可以带动另外一个与其连接的节点发生相应的改变。

关节赋予刚体以下自由度:
Configurable Joint 简介
Configurable Joint可配置关节是Unity物理引擎中非常强大的一个部分,该关节包含其他关节类型的所有功能。其它关节包括角色关节 (Character Joint) 、固定关节 (Fixed Joint)、铰链关节 (Hinge Joint)、弹簧关节 (Spring Joint) 。

功能
模拟任何骨骼关节,例如布娃娃中的关节。可以配置此关节以任何自由度驱动和限制刚体的移动。
Configurable Joint可配置关节官方文档

属性
浅析 1. 锚点、连接锚点和连接体(Anchor、Connected Anchor and Connected Body)
锚点是相对于本体的位置。
连接锚点是相对于连接体的位置。
连接体必须是刚体。
Unity会尝试通过关节移动对象,直到锚点和连接锚点在同一位置为止。
可以简单的理解为锚点会尽可能地向连接锚点重合(包括position和rotation)。

  1. X/Y/Z Motion and Angular X/Y/Z Motion
    X/Y/Z Motion 代表对应轴的位置移动模式,分别有三种模式可选。
    Angular X/Y/Z Motion 代表对应轴的旋转移动模式,分别有三种模式可选。
    这里,我们涵盖了三个相似的移动属性:xMotion, yMotion, zMotion。

假设连接锚点的世界坐标是(1, 2, 3),锚点的世界坐标是(-1, -2, -3)。任何关节(Joint)的主要目标就是使锚点和连接锚点处于同一位置,这坐标的位置关系明显与我们的目标不符。想要使它们符合预期,关节就要去改变锚点(anchor)或者连接锚点(connectedAnchor)的位置。我们要么使本体(body,就是绑定Configurable Joint的对象)移动(-2,-4,-6),要么使连接体(connected body)移动(2,4,6),又或者两者都往它们之间移动。当然,你也可以通过微调移动属性(motion properties)来纠正这个偏差(这里的偏差就是指锚点和连接锚点的差值)。

对应Motion的例子
下面这个图是Configurable Joint的部分参数。

下面这个图是两个Cube的位置
下Cube(统称为Cube1)挂载了Configurable Joint,Connected Body设置为上Cube(统称为Cube2)
例子解析
由于Y轴的Motion是被Locked住的,所以锚点和连接锚点的Y轴的位置必须要一致,所以下面的方块就被强行拉上去了。

重点!关于Motion的一些小

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值