在上一篇博客(【UE5.1】程序化生成Nanite植被)基础上给森林添加天气交互效果,角色和雪地、水坑的交互效果。
目录
效果
步骤
一、准备工作
二、添加超动态天空
2.1 修改时间
2.2 昼夜交替
三、添加超动态天气
3.1 改变天气
3.2 添加天气与地形、植物的交互效果
3.3 添加角色和雪地的交互效果
效果

步骤
一、准备工作
1. 将动态天气插件拷贝到工程的Content文件夹中

2. 在大纲中删除“Lighting”文件夹及其包含的所有内容

二、添加超动态天空
将超动态天空蓝图拖入场景

2.1 修改时间
可以通过修改参数“TimeOfDay”的值来修改一天中的时间,该参数范围为0~2400,那么可以得出当参数值为1200时表示中午12点。

2.2 昼夜交替
可以通过勾选“Animate Time Of Day”来开启昼夜交替的效果

通过参数“Day Length”和“Night Length”来设置白天夜晚的时长
此时运行游戏就能看到昼夜交替的效果(这里设置白天长度为0.3,夜晚为0.15,因此昼夜交替很快)

更多参数介绍可以参考官方视频链接:https://www.youtube.com/watch?v=b52npy-XUdQ
三、添加超动态天气
将超动态天气蓝图添加到场景中

3.1 改变天气
可以通过设置参数“Weather”来设置不同的天气效果

3.2 添加天气与地形、植物的交互效果
需要到地形材质和植物材质中添加材质函数
1. 打开地形材质“MTL_BF_Landscape_MASTER”

在如下位置处添加一个“Dynamic_Landscape_Weather_Effects”节点


2. 打开地形材质实例“MTL_BF_Landscape”

勾选开启动态天气效果的所有选项


3. 打开材质“Wall_Example”

拷贝如下节点

4. 打开材质“MTL_MW_Cover_MASTER”

将拷贝的节点粘贴


5. 打开材质“MTL_MW_Foliage_MASTER”,添加相同的节点

6. 添加同样节点的还有“MTL_MW_General_MASTER”


7. 打开“MTL_MW_General_Nanite_MASTER”


8. 在大纲中选中动态天气蓝图“Ultra_Dynamic_Weather”,然后勾选“Enable Dynamic Landscape Weather Effects”

我们可以设置积雪厚度

水坑覆盖率

此时可以看到地面有积水效果:

当我们切换为下雪天气时也可以看到植物上覆盖有雪

3.3 添加角色和雪地的交互效果
1. 打开角色蓝图,这里是第三人称角色模板蓝图“BP_ThirdPersonCharacter”

在网格体层级下添加天气交互组件“DLWE_Interaction”

复制一份

父项套接字分别设置为角色的左右脚部骨骼


可以设置一下左右两只脚在雪地行走时发出的声音大小


此时运行可以看到在雪天行走时的脚印并且听到行走的声音:

同样的我们可以设置角色经过水坑时的声音:
