在实际生活中我们会遇到好多物体与物体之间的连接,比如门与门框荷叶的连接,弹簧连接,固定连接,而这些我们在Unity也是可以通过Joint去实现的,首先我们要先去增加这个Joint组件,而在下图中我们可以看到有铰链连接,固定连接,弹簧连接,角色连接和配置连接
铰链连接
上图是盛典里边的解释(http://www.ceeger.com/Components/class-HingeJoint.html),大家看下基本都可以理解,而新版本多了个Auto Configure Connected Anchor 自动适配被连接的锚点,如果勾选那下边的Connected Anchor就不用填写,否则就要手动输入。
Fixed Joint
固定关节 (fixed joint)将对象移动限制为依赖于其他对象。这在某种程度上类似于父子化 (parenting),不过是通过物理而不是变换层级结构来实现。使用它们的最佳情况是在具有要方便地相互分离的对象,或是连接两个对象的移动而不进行父子化时。
- Connected body 对关节 (joint) 所依赖的刚体 (rigidbody) 的可选引用。如果未设置,则关节 (joint) 连接到世界坐标。
- break force 为使此关节 (joint) 折断而需要应用的力。
- break torque 折断扭矩 为使此关节 (joint) 折断而需要应用的扭矩。
详细信息
游戏中可能存在希望对象永久或临时附着在一起的情况。固定关节 (fixed joint) 可以是用于这些情况的良好组件(component),因为您不必为对象层级结构中的变化编写脚本即可实现所需效果。折衷之处是必须对使用固定关节 (fixed joint) 的任何对象使用刚体 (rigidbody)。
例如,如果要使用“黏性炸弹”,则可以编写检测与其他刚体 (rigidbody)(如敌人)的碰撞的脚本,然后创建将自己附加到该刚体 (rigidbody) 的固定关节 (fixed joint)。随后随着敌人四处移动,关节 (joint) 会使炸弹黏住它们。
折断关节 (joint)
可以使用折断力 (break force)和折断扭矩 (break torque)属性为关节 (joint) 强度设置限制。如果这些限制小于无穷大,并且将大于这些限制的力/扭矩应用于对象,则其固定关节 (fixed joint) 会毁坏,不再受其限制约束。
提示
无需将连接体 (connected body)分配给关节 (joint) 即可使其工作。
固定关节 (fixed joint) 需要刚体 (rigidbody)。
Spring Joint
弹簧连接,这个就不做过多解释,参数在Hinge Joint里边基本都解释过,有一个参数Tolerance 公差,就是允许弹簧有一个误差如下图
两个棕色点直接的距离就是这个公差值
最后两个关节都很复杂,上边各种参数都讲的差不多了,所以大家就自己看下。链接已发。
Character Joint
http://www.ceeger.com/Components/class-CharacterJoint.html
Configurable Joint
http://www.ceeger.com/Components/class-ConfigurableJoint.html