目录
关节
Configurable Joint
简介
功能
属性
浅析
就像是动物的关节一样,例如一个关节连接着两个节点,那么其中一个节点的移动或旋转可以带动另外一个与其连接的节点发生相应的改变。
关节赋予刚体以下自由度:
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, 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轴的位置必须要一致,所以下面的方块就被强行拉上去了。
重点!关于Moti