在上一篇博客中(UE4 通过重叠事件开启门)已经实现了通过重叠事件开关门的效果,这篇文章在此基础上,新建一个Actor(压力板),实现当有东西压在压力板上面时就会开门的效果。
可以看到当立方体压住压力板时,门会打开
1.新建一个Actor
命名为BP_PressurePlate
2.打开BP_PressurePlate,添加一个静态网格体组件命名为压力板
赋予静态网格体形状并调整缩放
3.添加一个盒体碰撞组件并调整其大小
4.点击添加组件开始和结束重叠时的事件
5.如下图,可以看到没有开门的引用,原因是他们不在一个Actor中
因此需要先获得一个对门的引用
新建一个变量,命名为DoorReference
在细节面板中,变量类型选择 BP Door Parent-》对象引用
设置为可编辑实例
6.获取引用
7.创建如下节点,实现重叠开门
但是结束重叠不能只调关门,比如将一个盒体推到压力板上,玩家控制的角色也站在压力板上,此时角色离开,门还是会关闭,因此需要做一个检查
8.拖入盒体碰撞
9.连接到获取重叠Actor
选择类为Actor,此时获取重叠Actor节点的输出是一个数组,数组包括了当前所有重叠Actor。
10.创建如下节点,点击 编译
11.将BP_PressurePlate拖入到立方体旁边, 设置对门的引用
12.选中立方体,勾选生成重叠事件