控制台命令蓝图
使用执行控制台命令
蓝图结点可以通过在命令中输入ce
+空格
+自定义Event名字
来和关卡蓝图通信(在对象中调用关卡蓝图的事件方法)。
可以打断的For循环
使用For Each Loop with Break
可以创建一个可以
设置可见性
通过设置可见性蓝图结点
可以开关场景中的灯光、模型、粒子的可见性,字面意思。
注意:模型设置为不可见,碰撞依然存在。
简易文本 UI
使用TextRender
组件可以快速创建一个3DUI,缺点是可扩展性不强,使用UMG功能会更好。
主要逻辑
这个解密demo的玩法为拾取钥匙,开启第一扇门。然后进入到第二个房间,通过打开三盏灯来开启机关。
拾取钥匙开门
拾取钥匙开门的主要逻辑比较简单,单独创建一个钥匙对象和一个需要钥匙开启的门的对象。在门中开门需要玩家触发和是否有钥匙
这两个双重条件,在钥匙中,就需要引用我们需要开启的门。
方法是在钥匙中创建一个钥匙门对象的变量并将其设置为可公开修改,编译并然后选取我们需要开启的门作为变量。
机关
触发机关开门也是同样的道理,唯一不同的是,我们这里有三盏灯,所以需要使用一个循环来遍历所有灯是否开启。
使用判断任意一盏灯不亮就跳出循环的方法最简单,所以需要用到For Each Loop with Break
中的Break来跳出。
在每一盏灯被开启后都会执行一遍下方关键逻辑,由于开启灯中蓝图比较长,只截取了核心的循环部分,其余部分的逻辑为是否显示提示词以及玩家进入检测区域开启输入并等待玩家按下E键开灯:
这样在玩家开启三盏灯后门就可以解锁。