Unity3D 在components-physics里有很多种Joint方式,用于模拟物体与物体间的联系,物体间作用力等,由于上次辛苦写了一堆没成功保存后,这次就不写那么详细了- -#,做个引子,真的用到的时候大家可以查官网再做具体研究。
Hinge Joint 链条连接 (官方文档)
他可以模拟两个物体间用一根链条连接在一起的情况,能保持两个物体在一个固定距离内部相互移动而不产生作用力,但是达到固定距离后就会产生拉力。想想两个物体间连个链条,大家就理解了。
Fixed Joint 固定连接 (官方文档)
他模拟了两个物体间存在一根杆子,固定了两个物体的相对位置和相对朝向。
Spring Joint 弹簧连接 (官方文档)
模拟两个物体间有一根弹簧,大于或者小于固定位置的时候产生相对的弹力,根据弹性系数距离偏移越大作用力越大。
Character Joint 角色关节连接
模拟人体骨头间的关节连接,就是两个物体能根据一个关键点自由的朝一个方向旋转,但固定在一个相对距离,而且可以设置关节的限制。可以用在蒙皮骨骼模型上做活动关节,这样就可以做到很多游戏引擎里那种各种自由姿势的死法了。
Configurable Joint 可配置连接 (官方文档)
万能连接方式,通过配置非常多的参数和限制,你可以做到能想到的任何物体与物体间的连接方式,包括上面所有的,当然配置起来比较复杂。
常见Joint参数用法
connectedBody 连接到的物体(必须是rigidbody)
breakForce 物体连接断裂所需要的力
breakTorque 物体连接断开所需要的扭力
<OnJointBreak> 当物体连接断开的时候会触发这个消息