UE5数字孪生系列笔记(四)

发布于:2024-04-19 ⋅ 阅读:(14) ⋅ 点赞:(0)

场景的切换

  • 创建一个按钮的用户界面UMG
    在这里插入图片描述
  • 创建一个Actor,然后将此按钮UMG添加到组件Actor中
    在这里插入图片描述
  • 调节几个全屏的背景
    在这里插入图片描述
    在这里插入图片描述
  • 运行结果
    在这里插入图片描述

目标点切换功能制作

  • 设置角色到这个按钮的位置效果
    在这里插入图片描述
  • 按钮被点击就进行跳转
    在这里插入图片描述

多个地点的切换与旋转

  • 将之前的目标点切换逻辑替换成旋转的逻辑,这样更加精准
    在这里插入图片描述
  • 其他的也跟上述方法一样
  • 例如:酒店大楼
    在这里插入图片描述
    在这里插入图片描述
  • 运行结果
    在这里插入图片描述

设置主视角切换

  • 我们点击主UMG的邮件那个按钮,使视角跳转到空中,再次点击就跳转到开始的视角
  • 思路:设置一个判断当我们点击了按钮就将跳转到空中视角,再次点击就到开始视角,设置一个Location标点在空中作为空中视角
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

设置摄像机高度

  • 在大楼按钮场景逻辑上添加判断当前是否按了主视角切换的逻辑,去除bug,每次点击回到原视角的bug
    在这里插入图片描述
  • 将源代码中右键移动视角的z轴进行新增变量
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 在原始低角度时就是原来的z轴限定范围
    在这里插入图片描述
  • 在高视角时就是高视角的z轴限定范围
    在这里插入图片描述

在这里插入图片描述

  • 最后在点击到各个大楼按钮后,将z范围限制回原来的4520
    在这里插入图片描述
  • 运行结果
    请添加图片描述

天气插件的导入

  • 开始界面的大楼按钮可以优化一下,当我们点击进入系统的时候,再显示大楼的按钮,没有点击进入系统之前是隐藏的

  • 首先将这几个按钮给隐藏掉
    在这里插入图片描述

  • 然后在主UMG中点击了进入系统按钮的后,再将这几个按钮显示出来
    在这里插入图片描述

  • 将插件复制到工程目录下
    在这里插入图片描述

  • 删除原场景中的天空、云彩、天光等组件
    在这里插入图片描述

  • 将插件中的天空与天气拖入场景中
    在这里插入图片描述

  • 之后默认是下雨状态就是正常了
    在这里插入图片描述

实时天气制作

  • 在解析天气API的逻辑这里加上一个switch进行选择天气类型即可
    在这里插入图片描述

  • 相关的查询条件在高德API中查看
    在这里插入图片描述

实时时间制作

  • 在更新时间与日期这里与一天的时间进行关联
    在这里插入图片描述

设置晚间道路发光效果

  • 将道路网格设置为蓝图,这样就可以给其添加材质
    在这里插入图片描述
    在这里插入图片描述
  • 将道路的材质复制出来,我们来做一个自发光的材质,在白天与黑夜时间中控制道路的材质变化
    在这里插入图片描述
  • 新建一个自发光材质
    在这里插入图片描述
  • 道路蓝图的逻辑,如果为真就是白天不需要自发光,如果为假就是黑夜需要自发光在这里插入图片描述
  • 更新时间这里抒写逻辑,是否是晚上了要开启自发光
    在这里插入图片描述

制作夜晚光照效果

  • 创建一个Actor蓝图,添加一个盒子用上自发光材质进行在场景中描边操作
    在这里插入图片描述
  • 铺设到场景
    在这里插入图片描述
  • 在晚上道路发光的逻辑位置继续抒写夜晚关照效果的逻辑
    在这里插入图片描述
  • 可以自己往上面按照这种描边逻辑加效果
    在这里插入图片描述

制作菜单UI界面

  • 当我们点击UMG那个四个小格子的按钮时,展开一个控制的界面
    在这里插入图片描述
  • 逻辑编写
    在这里插入图片描述

天气时间UI与控制制作

UI制作

  • 制作按钮UI界面与天气模拟界面
    在这里插入图片描述
    在这里插入图片描述
  • 制作打开模拟天气UI的动画
    在这里插入图片描述
  • 逻辑编写和制作菜单UI界面逻辑是一样的
    在这里插入图片描述
  • 制作关闭按钮与控制台界面UI
    在这里插入图片描述
    在这里插入图片描述

逻辑

  • 关闭逻辑:当IsWeatherClick为假时,说明我们点击的是关闭的操作,那就进行关闭,将IsWeatherClick变为真
    在这里插入图片描述
  • 启用天气模拟按钮逻辑抒写
    在这里插入图片描述
  • 天气切换逻辑
    在这里插入图片描述
  • 在实时更新天气这里加上是否按了天气模拟的判断
    在这里插入图片描述
  • 在实时更新时间一天的变化这里也加上判断,改变一下逻辑,当开启天气模拟的时候就不会获取当前时间了
    在这里插入图片描述
  • 时间控制逻辑
    在这里插入图片描述
    在这里插入图片描述
  • 补个关闭菜单UI界面的按钮逻辑和关闭天气模拟UI逻辑一样
    在这里插入图片描述
    在这里插入图片描述

场地漫游功能制作

  • 添加一个第三人称模版的包用来使用
    在这里插入图片描述
  • 将模版中的默认的动画和骨骼去掉
    在这里插入图片描述
  • 将模版蓝图拖入到场景中
    在这里插入图片描述
  • 创建场景漫游的UI
    在这里插入图片描述
  • 改变控制器逻辑,将我们的主控制器切换到这个第三人称模版的控制器上
  • 在第三人称模版蓝图中添加一个自定义事件,因为改变控制器的时候,第三人称蓝图中不会获取到增强输入系统,所以我们得手动调用一下
    在这里插入图片描述
  • 切换控制器逻辑
  • Set View Target With Blend:它用于在游戏中平滑地切换视角,即从当前观察的视点(如一个摄像头或角色的第一人称视角)过渡到另一个指定的目标视点
    • 视角目标切换
      Target:此节点接受一个新的视角目标作为输入。这可以是一个具有Camera组件的Actor,如另一台自由摄像机、玩家控制器、或者任何包含摄像头组件的游戏对象。当执行此节点操作时,游戏的主视角将从当前视点切换到指定的目标视点。
    • 平滑过渡
      Blend Time:节点允许设置一个过渡时间(Blend Time),在这段时间内,视角变换不是立即完成,而是以动画化的方式逐渐过渡到新的视点。这样可以避免突然的视角跳变,提供更自然、流畅的视觉体验,有助于保持玩家沉浸感。
    • 过渡方式
      Blend Function:除了指定过渡时间外,还可以选择不同的过渡方式(Blend Function)。例如,可以选择线性(Linear)过渡,使得视角在指定时间内均匀地从旧视角移动到新视角;或者选择如Cubic Ease等非线性函数,使过渡过程具有加速或减速的效果,符合特定的动画曲线。
    • 兼容性与灵活性
      即使目标Actor没有直接附加Camera组件,此节点仍可能执行视角切换。在这种情况下,引擎可能会以某种默认方式处理过渡,可能是直接平滑过渡到一个默认或最近的有效视点。“Set View Target with Blend”适用于各种类型的摄像机切换场景,如第三人称视角与第一人称视角之间的切换、不同固定摄像机之间的视角切换、以及过场动画中导演视角的切换等。
      在这里插入图片描述

场景漫游返回逻辑

  • 返回主控制器逻辑:新建一个bool变量用来标识返回主控制器了
    在这里插入图片描述
  • 控制器转换后关闭UI逻辑
    在这里插入图片描述
  • 控制器转换主控器后打开UI逻辑
    在这里插入图片描述
  • 在控制器转换这里调用隐藏UI的事件
    在这里插入图片描述
  • 在Tick这调用切换回主视角的事件
    在这里插入图片描述
  • 运行结果
    请添加图片描述

监控UI制作

  • 插入一个插件到工程目录,这个插件基于 UE5 实现的 rtsp 的视频播放插件,实现的运行时输出 mp4 文件
  • 插件开源地址:https://github.com/inveta/InVideo
    在这里插入图片描述
  • 启用插件
    在这里插入图片描述
  • 根据开源地址的提供的使用方法进行使用,新建这个插件的蓝图
    在这里插入图片描述
  • 创建一个imageUI界面
    在这里插入图片描述
    在这里插入图片描述
  • 播放视频网址节点
    在这里插入图片描述
  • 制作监控查看UI界面与动画
    在这里插入图片描述
    在这里插入图片描述
  • 打开与关闭监控UI界面逻辑与之前的菜单UI界面打开与关闭逻辑一样
    在这里插入图片描述
    在这里插入图片描述

退出系统UI制作

  • 制作退出系统的UI界面
    在这里插入图片描述
  • 逻辑:就是登录系统到UI的反向操作
  • 先关闭菜单UI
    在这里插入图片描述
  • 然后播放反方向这些UI的动画与设置他们的可视性
    在这里插入图片描述
  • 最后隐藏这几个大楼按钮
    在这里插入图片描述
  • 运行结果
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述