当前位置: 首页 > news >正文

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

场景的切换

  • 创建一个按钮的用户界面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的动画与设置他们的可视性
    在这里插入图片描述
  • 最后隐藏这几个大楼按钮
    在这里插入图片描述
  • 运行结果
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

相关文章:

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

场景的切换 创建一个按钮的用户界面UMG 创建一个Actor,然后将此按钮UMG添加到组件Actor中 调节几个全屏的背景 运行结果 目标点切换功能制作 设置角色到这个按钮的位置效果 按钮被点击就进行跳转 多个地点的切换与旋转 将之前的目标点切换逻辑替换成旋转的逻…...

品牌故事化:Kompas.ai如何塑造深刻的品牌形象

在这个信息爆炸的时代,品牌故事化已经成为企业塑造独特形象、与消费者建立情感联系的重要手段。一个引人入胜的品牌故事不仅能够吸引消费者的注意力,还能够在消费者心中留下持久的印象,建立起强烈的情感连接。本文将深入探讨品牌故事化对于构…...

5g和2.4g频段有什么区别

运行的频段不同 2.4G和5G频段的主要区别在于它们运行的频段不同,2.4G频段运行在2.4GHz的频段上,而5G频段(这里指的是5GHz频段)运行在5GHz的频段上。12 这导致了两者在传输速度、覆盖范围、抗干扰能力等方面的明显差异。以下是详…...

交通管理在线服务系统|基于Springboot的交通管理系统设计与实现(源码+数据库+文档)

交通管理在线服务系统目录 目录 基于Springboot的交通管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、用户信息管理 2、驾驶证业务管理 3、机动车业务管理 4、机动车业务类型管理 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考 七、最新计…...

konva.js 工具类

konva.js 工具类 class KonvaCanvas {/*** 初始化画布* param {String} domId 容器dom id*/constructor(domId) {this.layer null;this.stage null;this.scale 1;this.init(domId);}/*** 聚焦到指定元素* param {String} elementId 元素dom id*/focusOn(elementId) {if (!t…...

php未能在vscode识别?

在设置里搜php,找到settings.json,设置你的安装路径即可。 成功...

解读MongoDB官方文档获取mongo7.0版本的安装步骤与基本使用

mongo式一款NOSQL数据库,用于存储非结构化数据,mongo是一种用于存储json的数据数据,可以通过mongo提供的命令解析json获取想要的值。 数据模型 了解关系数据库会很熟悉database,table,row,column的概念,分别是数据库&#xff0c…...

【数据结构|C语言版】顺序表

前言1. 初步认识数据结构2. 线性表3. 顺序表3.1 顺序表的概念3.1 顺序表的分类3.2 动态顺序表的实现 结语 前言 各位小伙伴大家好!小编来给大家讲解一下数据结构中顺序表的相关知识。 1. 初步认识数据结构 【概念】数据结构是计算机存储、组织数据的⽅式。 数据…...

Unity类银河恶魔城学习记录12-17 p139 In game UI源代码

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释,可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili UI.cs using UnityEngine;public class UI : MonoBehaviour {[SerializeFie…...

MongoDB学习【一】MongoDB简介和部署

MongoDB简介 MongoDB是一种开源的、面向文档的、分布式的NoSQL数据库系统,由C语言编写而成。它的设计目标是为了适应现代Web应用和大数据处理场景的需求,提供高可用性、横向扩展能力和灵活的数据模型。 主要特点: 文档模型: Mon…...

html 引入vue Element ui 的方式

第一种&#xff1a;使用CDN的方式引入 <!--引入 element-ui 的样式&#xff0c;--> <link rel"stylesheet" href"https://unpkg.com/element-ui/lib/theme-chalk/index.css"> <!-- 必须先引入vue&#xff0c; 后使用element-ui --> <…...

曾经备受追捧的海景房,为何如今却没人要了?

独家首发 ------------ 全国多地的海景房如威海乳山、惠州大亚湾、北海银滩等多地的海景房如今大跌也难以卖出&#xff0c;与当初各地对海景房的追捧形成了鲜明对比&#xff0c;为何这些海景房变成如此样子&#xff0c;在于现实与宣传存在着很大的区别。 曾几何时面朝大海鸟语花…...

[docker] 镜像部分补充

[docker] 镜像部分补充 这里补充一下比较少用的&#xff0c;关于镜像的内容 检查镜像 ❯ docker images REPOSITORY TAG IMAGE ID CREATED SIZE <none> <none> ca61c1748170 2 hours ago 1.11GB node latest 5212d…...

Android(Kotlin) 委托(by) 封装 SharedPreferences

在 Kotlin 中&#xff0c;委托是一种通过将自身的某个功能交给另一个对象来实现代码重用的技术。通过委托&#xff0c;我们可以将某个属性或方法的实现委托给另一个对象&#xff0c;从而减少重复代码的编写。委托可以用于实现多重继承、代码复用和扩展现有类的功能。 Kotlin 中…...

2022年蓝桥杯省赛软件类C/C++B组----积木画

想借着这一个题回顾一下动态规划问题的基本解法&#xff0c;让解题方法清晰有条理&#xff0c;希望更多的人可以更轻松的理解动态规划&#xff01; 目录 【题目】 【本题解题思路】 【DP模版】 总体方针&#xff1a; 具体解题时的套路&#xff1a; 【题目】 【本题解题思…...

Python数据挖掘项目开发实战:使用朴素贝叶斯进行社会媒体挖掘

注意&#xff1a;本文下载的资源&#xff0c;与以下文章的思路有相同点&#xff0c;也有不同点&#xff0c;最终目标只是让读者从多维度去熟练掌握本知识点。 Python数据挖掘项目开发实战&#xff1a;使用朴素贝叶斯进行社会媒体挖掘 一、项目背景与目标 在社交媒体时代&…...

【DM8】ET SQL性能分析工具

通过统计SQL每个操作符的时间花费&#xff0c;从而定位到有性能问题的操作&#xff0c;指导用户去优化。 开启ET工具 INI参数&#xff1a; ENABLE_MONITOR1 MONITOR_SQL_EXEC1 查看参数 select * FROM v$dm_ini WHERE PARA_NAMEMONITOR_SQL_EXEC;SELECT * FROM v$dm_ini WH…...

001-谷粒商城-微服务剖析

1、架构图 还是很强的&#xff0c;该有的都有 2、微服务模块 SpringCloudAlibaba组件包括 SentinelNacosRocketMQSeata 搭配SpringCloudAlibaba组件 OpenFeignGateWayRibbn gateway使用了SpringWebFlux&#xff0c;前几天研究到&#xff0c;为什么springboot不直接使用Spri…...

vue实现前端打印效果

如图效果所示&#xff08;以下演示代码&#xff09; <template><div><el-button v-print"printObj" type"primary" plain click"handle">{{ text }}</el-button><div style"display: none"><div id…...

android wifi直连 wifip2pmanager

android wifi直连 wifip2pmanager&#xff1b;使用WiFi 直连&#xff0c;然后通过udp进行通讯。 Android WiFi 直连&#xff08;Wi-Fi Direct&#xff0c;也称为Wi-Fi P2P&#xff09;是一种让两台或多台设备通过Wi-Fi技术直接进行点对点连接的技术&#xff0c;无需借助传统的无…...

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

基于大模型的 UI 自动化系统

基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...

【项目实战】通过多模态+LangGraph实现PPT生成助手

PPT自动生成系统 基于LangGraph的PPT自动生成系统&#xff0c;可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析&#xff1a;自动解析Markdown文档结构PPT模板分析&#xff1a;分析PPT模板的布局和风格智能布局决策&#xff1a;匹配内容与合适的PPT布局自动…...

基于数字孪生的水厂可视化平台建设:架构与实践

分享大纲&#xff1a; 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年&#xff0c;数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段&#xff0c;基于数字孪生的水厂可视化平台的…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时&#xff0c;发现没有set类的方法&#xff0c;只有get&#xff0c;那么要改变tree值&#xff0c;只能遍历treeData&#xff0c;递归修改treeData的checked&#xff0c;发现无法更改&#xff0c;原因在于check模式下&#xff0c;子元素的勾选状态跟父节…...

相机从app启动流程

一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

前端开发面试题总结-JavaScript篇(一)

文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包&#xff08;Closure&#xff09;&#xff1f;闭包有什么应用场景和潜在问题&#xff1f;2.解释 JavaScript 的作用域链&#xff08;Scope Chain&#xff09; 二、原型与继承3.原型链是什么&#xff1f;如何实现继承&a…...

c#开发AI模型对话

AI模型 前面已经介绍了一般AI模型本地部署&#xff0c;直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型&#xff0c;但是目前国内可能使用不多&#xff0c;至少实践例子很少看见。开发训练模型就不介绍了&am…...

根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:

根据万维钢精英日课6的内容&#xff0c;使用AI&#xff08;2025&#xff09;可以参考以下方法&#xff1a; 四个洞见 模型已经比人聪明&#xff1a;以ChatGPT o3为代表的AI非常强大&#xff0c;能运用高级理论解释道理、引用最新学术论文&#xff0c;生成对顶尖科学家都有用的…...

C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。

1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj&#xff0c;再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...