【UE4 RTS】09-Day and Night

前言

本篇博客实现的效果是太阳和天空会随着游戏时间的变化而变化。

效果

步骤

  1. 设置"LightSource"为可移动的
  1. 新建一个文件夹,命名为"Lighting"
  1. 打开游戏状态"RTS_GameState_BP",添加一个函数命名为"GetGameSpeed"

添加一个浮点类型的输出,命名为"GameSpeed",将变量"GameSpeed"赋予到输出引脚"GameSpeed"上。

  1. 添加一个父类为Actor的蓝图类,命名为"SunRotation_BP"

打开"SunRotation_BP",在事件图表中先获取到游戏状态的引用,将获取的引用作为变量,命名为"GameStateRef"

调用游戏状态"RTS_GameState_BP"中的事件调度器"GameSpeedControl",当游戏状态中的"GameSpeed"被修改了,这里会调用自定义的委托事件。这里事件图表中的变量"GameSpeed"是将函数"GetGameSpeed"输出的值提升为变量。

  1. 打开"RTS_FuncLib",将函数"SetGameTime"设置为纯函数
  1. 回到蓝图"SunRotation_BP"中添加一个浮点类型变量,命名为"GameTime"

再添加两个变量,分别命名为"SunRef"、"SkySphereRef"

分别是"定向光源"和"BP Sky Sphere"的对象引用,均为可编辑实例

在事件图表中添加如下节点

  1. 将"SunRotation_BP"拖入视口

在细节面板中设置定向光源和天空盒的引用

此时运行游戏太阳和天空已经能够用跟随游戏时间而发生变化,为了能更清楚的观察这个变化,这里我们将游戏状态"RTS_GameState_BP"中的变量"GameSpeed"和变量"DefaultGameSpeed"的值都由150改为0.25,(测试后改回150)效果如下:

相关推荐
致命的邂逅15 天前
UE4游戏查找本地角色数据的方法-SDK
游戏·ue4
北冥没有鱼啊17 天前
UE 材质几个输出向量节点
ue5·游戏引擎·ue4·虚幻·材质
北冥没有鱼啊1 个月前
UE 材质 条纹循环发光
游戏·ue5·游戏引擎·ue4·材质
北冥没有鱼啊1 个月前
UE 滚动提示条材质制作
游戏·ue5·游戏引擎·ue4·虚幻·材质
北冥没有鱼啊2 个月前
UE 使用事件分发器设计程序
游戏·ue5·ue4·游戏开发·虚幻
GR902 个月前
UE4 踩坑记录
ue4
程序猿熊跃晖2 个月前
解决 Unreal Engine 5.2 中服务器目标构建问题:从源码编译到项目配置优化
ue4
Ⅰㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ2 个月前
开篇 - Unlua+VsCode的智能提示、调试
vscode·ue4·智能提示·unlua
吴梓穆2 个月前
UE5学习笔记 FPS游戏制作33 换子弹 动画事件
笔记·学习·ue4
吴梓穆2 个月前
UE5学习笔记 FPS游戏制作31 显示计分板
笔记·学习·ue4