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