很久没有写文章了,最近一直在UE4和unity之间两头跑,对于一个unity出身的程序员来说,这是一种什么滋味啊。好了, 今天给大家讲一下如何在UE4种模拟开关门的效果,类似VR使用的动画开门的效果,网上教程随处可见,但是模拟比较真实的开关门的一直没人写。其实也不慢,废话少说,开干。

1.新建一个继承Actor的蓝图,命名为PhysicDoor_BP,打开蓝图,添加组件static mesh,在初学者内容中找到相应的门的mesh

unity开关组件_物理模拟

2.大家都知道,这是物理模拟,肯定需要勾上simulate physics,那么大家从第一张图就可以看到,我们的这个选项是勾不上的,什么原因呢?

unity开关组件_拖拽_02

3.经过本菜鸡的推测,应该是门的mesh没有碰撞,那么我们定位到门的mesh编辑面板,为门添加一个BOX collision,是不是很神奇?

unity开关组件_unity开关组件_03


unity开关组件_unity开关组件_04

4.关键的时刻来了,下面需要添加一个比较重要的组件,Physics Constraint。

unity开关组件_拖拽_05


然后呢,把这个轴点拖拽到门的左下角,并在Physics Constraint的Component name属性写上门的名字。如图:

unity开关组件_公众号_06


这时候你会发现门有个红色的外框,现在我们可以点击Simulate模拟播放一下,你会发现门上下晃动,那就是轴点的问题了,学过物理的都知道,楼主除外,物理很差。

unity开关组件_公众号_07


这时候,我们就知道了,根据物理学,什么什么定律,我们需要固定门的一端,所以我们需要添加两个轴点

unity开关组件_拖拽_08

这时候就完成了,是不是很简单,但是效果还可以做得更好,就看各位自由发挥了,我把门丢到场景中测试一下,我用的是第三人称模板,当然换到VR模板,用手柄推门跟人撞门差不多的,自己去试试。

unity开关组件_物理模拟_09

PS(如果各位发现有点推不动门,那么修改一下门的质量哦,看个人需要)

unity开关组件_拖拽_10