首页 理论教育 Unity3D游戏开发项目教程:铰链关节的用途与工作原理

Unity3D游戏开发项目教程:铰链关节的用途与工作原理

时间:2023-11-16 理论教育 版权反馈
【摘要】:在Unity3D 基本关节中,铰链关节是用途十分广泛的一种,利用铰链关节可以制作门、风车甚至是机动车的模型,铰链关节是将两个刚体链接在一起并在两者之间产生铰链的效果。表6-5铰链关节属性列表铰链关节的工作原理是使得两个被连接的钢体能够绕着某一个锚点方向进行旋转,可以用于模拟旋转门、钟摆、铁链等物理现象,下面的例子展示如何使用铰链关节。再单击菜单栏“Component”→“Physics”→“HingeJoint”添加铰链关节。

Unity3D游戏开发项目教程:铰链关节的用途与工作原理

在Unity3D 基本关节中,铰链关节是用途十分广泛的一种,利用铰链关节可以制作门、风车甚至是机动车的模型,铰链关节是将两个刚体链接在一起并在两者之间产生铰链的效果。铰链关节的创建,单击菜单栏“Component”→“Physics”→“HingeJoint”菜单,关节的参数如表6-5 所示。

表6-5 铰链关节属性列表

铰链关节的工作原理是使得两个被连接的钢体能够绕着某一个锚点方向进行旋转,可以用于模拟旋转门、钟摆、铁链等物理现象,下面的例子展示如何使用铰链关节。

(1)创建一个工程JointDemo,保存场景Joint,场景中创建一个空对象DoorObject,在空对象下创建一个Cube,重命名为Door;创建一个Cylinder,重命名为DoorFrame,给它们赋予材质,如图6-32 所示。

图6-32 搭建场景

图6-33 修改RigidBody属性

(2)选择Door 游戏对象,给它添加一个刚体组件(RigidBody),保持它属性的默认值不变。

(3)选择DoorFrame 游戏对象,为它添加一个刚体组件(RigidBody),并把该组件的Is Kinematic 属性勾上,使它具有刚体属性但又不会受到外力的影响,如图6-33 所示。再单击菜单栏“Component”→“Physics”→“HingeJoint”添加铰链关节。这时在Scene 窗口中观察DoorFrame,会发现有一个橘黄色的箭头标志,该标记就是铰链的旋转锚点和旋转中心点的标记,如图6-34 所示。

(4)设置Hinge Joint中轴向Axis为(0,1,0),使得旋转轴朝着对象Y轴的正方向,设置锚点Anchor 位置,使得锚点位于门框中部。如图6-35 所示。

图6-34 锚点位置

图6-35 设置旋转轴向(www.xing528.com)

图6-36 设置旋转锚点

(5)点击Hinge Joint组件中Connected Body右边的按钮,在弹出的Select RigidBody面板中旋转Door 游戏对象,完成了DoorFrame 对象和Door 对象的连接,如图6-37 所示。

图6-37 参数设置

图6-38 添加角色

(6)右击Project视图“Import Package”→“Characters”,导入角色资源,把第三人称的预制体Standard Assets→ThirdPersonCharacter→Prefabs→ThirdPersonController 拖到Scene窗口中,如图6-38 所示。

(7)运行游戏,通过键盘控制角色的前进旋转,当角色碰到门时,门便绕着门框旋转起来。这时选择门的旋转范围,选择DoorFrame对象,在Hinge Joint组件中勾选Use Limits,并设置最小值Min 为-90,最大值Max 为90,如图6-39 所示。再次运行游戏,此时门的活动范围就只能在-90 度到90 度之间活动。

图6-39 限制门的旋转角度

图6-40 设置弹簧效果

(8)设置门的弹簧属性。在Hinge Joint组件中勾选选项Use Spring,设置弹簧系数Spring属性值为0.2,阻尼Damper为0.2,如图6-40所示。运行程序,当角色碰到门时门会被推开,当角色离开时门会因为受到弹力的作用回到原来的位置上。

(9)按下[Ctrl+S],保存场景。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈