Unity中HingeJoint控制开门

在unity的建筑场景中,大家会碰到这样一个问题,建筑中门的运动不自然,没有开门的效果。如果有不了解HingeJoint(铰链关节)的人习惯性的通过旋转门的方向来达到开门的效果,这样就会存在一个物体,开门时无法控制开门的幅度,门是在固定的条件下旋转,而不是像现实中受力的影响而偏移。下面就和大家介绍下通过HingeJoint来控制开门的效果。

一、场景的搭建

在场景中通过Cube搭建出一个门,用独立的一个Cube当作人。场景图如下:
在这里插入图片描述
我们需要的效果是移动红色方块去推门,用方块把门推开。

二、门的设置

对门添加刚体和HingeJoint两个组件,在HingeJoint中进行设置,这个组件就是用来控制门的偏移。
在这里插入图片描述
要控制门的旋转主要改变组件的Anchor和Axis两个属性,其他保持默认就行。其中Anchor是关节的锚点,物体是绕锚点旋转,Axis是锚点的轴向,控制物体旋转的方向。我设置的是让门绕着左边的门框旋转,方块向前推时,门往里开,向后推时门向外开。

三、开门效果演示

在门之前时,当方块向前移动,可以推着门往里开,在门之后时,方块向后移动,可以推着门往外开。效果图如下,左边的图是门往里开的,右边的图是门往外开的。
在这里插入图片描述
四、总结

在unity中,HingeJoint的运用能够使门的开关更真实,HingeJoint通过与别的物体连接来控制物体的偏移,一般用在门、窗的开关,链子、钟摆的摇晃。unity中的关节组件常用的有FixedJoint(固定关节)、SpringJoint(弹簧关节)和HingeJoint(铰链关节)。我们能够通过关节组件把两个物体连接起来,通过力的作用改变一个物体的移动让另一个物体跟随移动,让物体的运动更真实。

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值