13 UE4蓝图:自动开关门

2020-12-17  本文已影响0人  游戏开发程序员

---1:场景中摆放物件部分:
首先,我们从内容浏览器中拉出一个SM_DOOR


image.png

摆放到合适的位置:


image.png

接下来给门设置碰撞,让其不能通过。
通过双击进入门的静态网格体,碰撞菜单来生成盒体碰撞,这样门就不可以穿过了:


image.png

接下来我们在场景中添加一个盒体触发器:


image.png

设置大小和位置如图,把门夹在中间。


image.png
这样,就可以通过触发器来达到捕捉到角色走到门前或门后的事件了。

---2 关卡蓝图编写部分:


image.png

在关卡蓝图中编辑本触发行为:

右键点击空白,给盒子两个添加事件 开始重叠和结束重叠:


image.png

在关卡中选中门,在蓝图中点击创建引用(蓝图会自动联想到选中的对象,很友善~):


image.png

通过SM_Door引用的针脚拉出来,输入设置Actor旋转。


image.png

我们把XYZ分开:


image.png

那么现在的蓝图就是:


image.png

可是我们播放游戏,走到门口触发盒子缺没有反应,看输出有提示如下:

如果需要移动,....SM_Door_2:StaticMeshComponent0的移动性必须为“可移动”。

我们回到关卡中,选择门设置为可移动~


image.png

那么现在我走到门口就会看到门被打开了,只是很快看起来好别扭:


image.png

接下来我们做一个时间轴,让他开门和关门有过度效果。
先有时间轴:


image.png

再双击进入制作一个浮点数轨迹,点F,
然后添加2个关键帧
0,-90(0秒从开始的Z轴-90度)
2, 0(到2秒旋转到Z轴0度)
记住长度设置为2,总时间就为2秒。
再设置自动得到曲线。如下图:


image.png image.png

下面我们把时间轴加入进来,如图:


image.png

整个流程为:碰撞盒子检测到重叠事件,就会执行时间轴。时间轴就会更新SM_Door的Z轴,通过轨迹也就是我们刚才编辑的曲线来。在2秒内把门的Z轴从-90度修改到0度。也就是我的关卡中门的关闭到打开的角度。
再通过盒子的离开重叠事件,让时间轴控制门的Z轴反向操作,也就是关门。


image.png
image.png
image.png

至此,自动开关门的蓝图就完成了。

上一篇 下一篇

猜你喜欢

热点阅读