这次先做个极简单的感应灯,之后会慢慢提高难度,需要用到组件Box collision(盒型碰撞)和Set visibility(设置可见度)以及光源。
首先理清逻辑,感应灯要保证我们(第一人称视角项目)接近灯时亮,离开灯时灭,距离是根据Box组件来决定。
首先右键创建蓝图,选择Actor,我们要做的是可放置的“道具”。



之后点击左上角添加组件,并选择光源(spot light)、道具和Box collision




并按照自己喜欢的方式摆放,我弄个比较一般的,觉得效果不明显的可以调强度值


进入事件图表,并且为Box添加开始碰撞事件和结束碰撞事件(标蓝的是开始事件,下面那个是结束事件)


左键拖出我们要控制的灯光(spot light),并且拖动蓝色节点创建Set visibility事件


在Set visibility事件中,New Visibility节点是负责可视化的,打钩就将目标显示,将上面的类三角图形与碰撞事件的类三角相连,也可以理解为将事件相连


这样就完成了开始碰撞显示灯光的事件,同样还要处理结束碰撞隐藏灯光(灯灭)的事件

现在就可以将灯放入场景中去,但是当我们进入游戏时,还没到位置灯就是开着的,是因为我们从一开始没有设置初始隐藏(所有可视化组件默认显示)

所以我们要设置初始值,进入事件蓝图中我们会看到三大常用事件,beginplay(开始游戏),Tick(每帧事件),ActorBeginOverlap(整体开始碰撞事件),由于我们要设置的是一开始便隐藏灯光,所以连线set visibility和beginplay并设置为灯光隐藏即可。

至此,感应灯完成了,可以根据Box去做更多有感应的事件,或是Sphere collision(球形碰撞)。
浙公网安备 33010602011771号