![image]()
这里开关灯效果,主要是在SwitchActor上添加LightActor的对象引用Object Reference,在编辑地图的时候初始化这个变量,然后在SwitchActor上触发Overlap事件时,通过LightActor的引用来调用LightActor的ToggleLight事件,以达到开关灯效果
![image]()
1. 创建一个点光源作为灯
新建一个基于Actor的蓝图
![image]()
添加一个StaticMesh作为灯的外观
![image]()
将StaticMesh拖放到DefaultSceneRoot作为根节点
![image]()
添加点光源
![image]()
将地图的平行光调暗
![image]()
将刚创建的灯拖放到地图
![image]()
2. 新建一个基于Actor的开关
![image]()
设置一个StaticMesh并拖放到覆盖根节点
![image]()
设置碰撞为OverlapAllDynamic
![image]()
添加一个成员变量来引用灯实例
![image]()
注意勾选Instance Editable允许在关卡中编辑
![image]()
将开关拖放到地图,并设置灯的引用
![image]()
设置灯的引用
![image]()
3. 创建开关灯事件(自定义事件)
继续打开灯的蓝图,添加自定义事件 Add Custom Event
![image]()
命名为ToggleLight(其它名字也行)
![image]()
新建一个bool变量保存灯的开关状态
![image]()
开关切换,这里利用Flip Flop布尔状态切换器,每次事件触发都会自动切换到与上次不同的执行分支去
![image]()
开关切换,灯的亮度设置Set Intensity,关灯设0,开灯设5000
![image]()
4. 回到开关蓝图,添加开关灯事件触发处理
添加网格体的Overlap事件
![image]()
连线刚才自定义的ToggleLight事件(右键菜单搜索ToggleLight)
![image]()
5. 添加第三人称资源包来测试
![image]()
这里选Third Person
![image]()
修改当前关卡的默认GameMode为BP_ThirdPersonGameMode
![image]()
运行测试
![image]()
其它
posted @
2023-12-19 22:08
BuzzWeek
阅读(
123)
评论()
收藏
举报