如果世界中有很多自动开关门,那么一个个单独制作非常累,所以我们制作一个蓝图类,来实现自动开关门。
首先在资源浏览器中 新建一个蓝图类对象:
image.png
之后给这个蓝图类添加组件:
image.png
image.png
现在,我们有1个门框,1个门,1个合体碰撞
image.png
我们开始编写这个蓝图类的最重要的元素:事件图表
image.png
通过如图所显示的蓝图,我们实现盒体碰撞进入和离开后通过时间轴来打开和关闭 Door组件。也就是设置它的相对Z轴旋转。
下面我们来制作如何检测按键来打开和关闭。
修改的蓝图如下:
image.png
获取玩家控制器、输入相关和按键E达到接受E事件;
让盒子重叠事件的进出来开启和关闭接受输入。
通过GATE和FlipFlop来达到开关门的行为。
同学可以在播放的时候查看蓝图上的流动效果来测试(双显示器的好处就来了)。
image.png
现在,我们换上按键门了~
image.png
额外的通过点击门来开关的修改,先增加门的点击事件并连接到GATE的enter
image.png
再设置世界场景设置中的游戏模式,并进入玩家控制器类,点+号来新建蓝图。
image.png
并且对蓝图中的鼠标进行勾选 显示鼠标 启用点击
image.png
现在就可以点击门来打开和关闭门了。
还可以让进入盒体碰撞的时候才鼠标显示,离开的时候鼠标不显示。
image.png
为了防止是其他对象引发的碰撞,我们对碰撞对象检测,保证其为角色:
image.png