Ue5.2 数字孪生(10)——Ultra Dynamic Sky天气系统

Ultra Dynamic Sky:超动态天空

  • 商城资产包,需要购买添加到项目;
    Ue5.2 数字孪生(10)——Ultra Dynamic Sky天气系统_第1张图片
  • 当然学习嘛,本着能白嫖绝不付费,能开挂绝不充值的原则,大家可通过一些绿色途径获取哈;
    只需要将解压的文件复制到项目的Contet目录文件即可;
    Ue5.2 数字孪生(10)——Ultra Dynamic Sky天气系统_第2张图片
  • 将资产包中的天空和天气两个蓝图类拖到场景中,并删除项目默认的光照信息;
    Ue5.2 数字孪生(10)——Ultra Dynamic Sky天气系统_第3张图片Ue5.2 数字孪生(10)——Ultra Dynamic Sky天气系统_第4张图片
  • 可通过Ultra_Dynamic_Weather天气蓝图修改天气状态,有十几种天气状态可以选择;
    Ue5.2 数字孪生(10)——Ultra Dynamic Sky天气系统_第5张图片

滑条调整场景时间:

  • 通过Ultra_Dynamic_Sky天空蓝图修改一天中的时间,切换在不同时间段场景的光照信息;
    Ue5.2 数字孪生(10)——Ultra Dynamic Sky天气系统_第6张图片
  • 下面我使用蓝图创建时间轴Umg用户控件,在游戏运行时调整时间,或者使用真实世界的时间作为游戏时间;
    创建Umg_Sky用户控件,添加滑条用于调整时间;Ue5.2 数字孪生(10)——Ultra Dynamic Sky天气系统_第7张图片
  • 在BP_PlayerContorller玩家控制器中,事件开始运行时创建时间轴用户控件;这样在切换玩家飞行相机和第三人称游戏角色时都可以调整场景时间;
    Ue5.2 数字孪生(10)——Ultra Dynamic Sky天气系统_第8张图片
  • 将滑条和文本提升为变量,设置滑条的外观最大值和最小值以及步幅大小,
    添加事件:值变更时
    Ue5.2 数字孪生(10)——Ultra Dynamic Sky天气系统_第9张图片
  • 将滑条数值拆分设置到文本;
    Ue5.2 数字孪生(10)——Ultra Dynamic Sky天气系统_第10张图片
  • 在事件预构造(初始化时),通过类获取Ultra_Dynamic_Sky天空蓝图类得到引用;
    通过引用获取到Time of day时间浮点值变量,并设置给滑条数值和时间文本数值;
    在滑条数值变更时设置Ultra_Dynamic_Sky天空蓝图类的时间数值;
    完整的蓝图:这时候运行游戏就可以通过用户控件控制场景游戏时间了;
    Ue5.2 数字孪生(10)——Ultra Dynamic Sky天气系统_第11张图片Ue5.2 数字孪生(10)——Ultra Dynamic Sky天气系统_第12张图片

组合框切换天气状态:

  • 使用组合组合框作为天气状态切换的按钮控件;
    设置组合框下拉选项;
    将组合框提升为变量,启用事件:选择以发生变化时;
    Ue5.2 数字孪生(10)——Ultra Dynamic Sky天气系统_第13张图片
  • 在事件图表中,先通过类获取Ultra_Dynamic_Weather天气蓝图类引用;
    通过引用找到Weather天气状态变量,并通过按钮设置天气状态;
    Ue5.2 数字孪生(10)——Ultra Dynamic Sky天气系统_第14张图片
    Ue5.2 数字孪生(10)——Ultra Dynamic Sky天气系统_第15张图片
  • 这里有一个问题需要注意啊,组合框输出的字符串类型不能直接作为Select选择节点的引脚进行连接;
    我这里的做法是通过映射(Map),将下拉框输出的天气状态名称映射到枚举变量的操作,当然用枚举也是考虑到在选择天气状态的时候方便操作,也可以直接映射到整数来选择;
  • 用字符串映射到枚举:
    先创建一个天气状态的蓝图枚举,添加枚举选项;
    Ue5.2 数字孪生(10)——Ultra Dynamic Sky天气系统_第16张图片
  • 在用户控件图表中创建Map_Weather天气状态映射变量:
    通过字符串映射到枚举:在细节属性面板中添加映射关系;
    Ue5.2 数字孪生(10)——Ultra Dynamic Sky天气系统_第17张图片
    Ue5.2 数字孪生(10)——Ultra Dynamic Sky天气系统_第18张图片
  • 最后蓝图部分:组合框中选中的字符串查找到Map_Weather映射中的天气状态枚举值;
    再通过枚举值选择对应的天气状态资产并设置当前的天气状态;
    运行游戏切换天气状态查看效果;
    Ue5.2 数字孪生(10)——Ultra Dynamic Sky天气系统_第19张图片

场景物体于天气状态(雨雪)交互材质设置:

  • 在Ultra Dynamic Sky动态天空的关卡案例文件夹中,找到交互材质样例;
    Ue5.2 数字孪生(10)——Ultra Dynamic Sky天气系统_第20张图片
    Ue5.2 数字孪生(10)——Ultra Dynamic Sky天气系统_第21张图片
  • 看一看天气蓝图中的雨、雪、灰尘天气状态和场景物体交互的材质蓝图;
    只需要复制代码,粘贴到场景中需要产生交互的物体的母材质,并连接颜色、粗糙度和法线节点即可;
    以地形材质为例:
    Ue5.2 数字孪生(10)——Ultra Dynamic Sky天气系统_第22张图片

你可能感兴趣的:(Ue5.2,数字孪生建筑可视化,ue5,虚幻,材质)