UE5 - 把ArchvizExplorer项目改造成自己的数字孪生项目 - 开发记要

news/2024/11/14 20:04:47/

参考:
https://blog.csdn.net/qq_17523181/article/details/133853099
https://blog.csdn.net/qq_17523181/article/details/134455597

1. 安装项目

https://www.unrealengine.com/marketplace/zh-CN/product/archviz-explorer
https://karldetroit.com/archviz-explorer-documentation/

  • 官网下载的是一个简单版,需要下载扩展,更新项目,变成完整版,目前使用UE5.1

https://drive.google.com/drive/folders/1s3l4BIMBV-oYYMs7WrQIseM9YGOk5h5U
https://download.csdn.net/download/qq_17523181/88433056

打开Realistic_01的Map
在这里插入图片描述


2. 项目清理

  • 项目开始时,保存一个新的Map

  • 清理出一个最小的项目:
    在这里插入图片描述

  • 其中SectionView_Volumes也清理掉。

  • 调整蓝图BP_Explorer_PC、BP_Explorer_Pawn,相关SectionView、Update Section View Initial volume部分删除
    在这里插入图片描述

  • BP_Explorer_PC相关部分也删除
    在这里插入图片描述

  • 删除完毕后,运行无报错


3. UI隐藏

  • 隐藏UI各种界面,保留地图标签与指南针功能

  • 打开BP_MasterMenu_Widget,断开蓝图,隐藏广告
    在这里插入图片描述

  • 把要隐藏的,Transform部分,大小调整为0,
    在这里插入图片描述


3. 整体说明

(1)关于蓝图

  • BP_Explorer_GameInstance:全局实例类,保存全部POI、Route、Pawn与选择状态
  • BP_Explorer_GameMode:里面没有脚本,主要确定PlayerController与Pawn
  • BP_Explorer_PC:为BP_Explorer_GameInstance(GI)赋值,创建UI,切换Pawn(地图与360度全景)等
  • BP_Explorer_Pawn:主镜头各类功能
  • BP_POI:观察点位、区块显示
  • PB_Route:道路线效果
  • PB_RoadTool:夜晚道路效果
    (2)关于一些插件

目标是一个双屏互动的数字孪生项目,一些可能用到的插件:

  • WebSocket:用于双屏互动控制
    在这里插入图片描述
  • INI操作:用于一些外部配置
    在这里插入图片描述
  • Json操作:用于websocket传输或读取外部数据
    在这里插入图片描述

4. BP_Route说明

(1) Route设置
在这里插入图片描述

  • Route Color:线条颜色
  • Mask Radius Enabled:线条的影响半径,这个值和线条的实际长度有关系
  • Mask Hardness:线条透明过渡的部分,1是没有透明过渡,0是非常透明
  • Interp Speed Show:显示速度,建议这个值调小,显示时动画效果比较明显,0.2
  • Interp Speed Hide:隐藏速度

默认线条以中心位置,向往扩散

(2) Route蓝图
在这里插入图片描述


5. BP_POI - 镜头运用

(1)POI设置

  • POI是镜头的中心点,所以POI一定要布置在被观察物体的中间位置
  • POI要调整镜头的弹簧臂来控制摄像机的拍摄角度
    在这里插入图片描述
  • 要调整弹簧臂,还要先关闭POIl里的Look at Target属性
    在这里插入图片描述
  • 调整弹簧臂,需要把Rotation调整为世界坐标,距离调整Arm Length
    在这里插入图片描述
  • 弹簧臂的最大距离可能需要调整,在BP_Explorer_Pawn里
    在这里插入图片描述
  • 调用Select POI显示设定的位置,需要设置几个Change项
    在这里插入图片描述

(2)POI蓝图
在这里插入图片描述


http://www.ppmy.cn/news/1262428.html

相关文章

Go语言初始化数组的六种方式

介绍 在Go语言中,有多种方式可以初始化数组,本文将介绍初始化数组的六种方法。 方式1:指定数组大小并初始化 var array [3]int [3]int{1, 2, 3}指定数组的大小为3,并初始化为指定的值1, 2, 3。 方式2:根据初始化值…

使用 nnUNetv2 的一些踩坑记录(或许还会有继续更新

nnUNet 依然是最鲁棒的分割网络。今年初原作者更新了 nnUNet 的第二版即 nnUNetv2,题主近期试用的时候有一些踩坑的地方进行记录。 没有官方提供的预训练权重 官方文档在一个非常不起眼的角落提及了,v2版本尚无预训练权重可直接使用,有相关…

Golang使用Swagger文档教程

Golang开发效率是杠杠滴,简单几行代码就可完成一个可用的服务,如下代码: 采用Gin作为web framework采用Gorm作为持久化ORM采用Swagger作为OpenAPI文档管理工具 package mainimport ("encoding/csv""fmt""os"…

波奇学C++:function包装器和智能指针(一)

function包装器 相当于适配器,用于对可调用对象(函数指针,仿函数,lambda)进行封装,使得他们的类型统一。 double func(double d) {return d / 4; } struct func1 {double operator()(double d){return d …

ElasticSearch 谈谈你对段合并的策略思想的认识

段合并是Elasticsearch中的一个重要概念,它在数据索引和查询过程中起着关键的作用。Elasticsearch使用Lucene作为其全文搜索库,Lucene中使用的数据结构就是段(Segment)合并。 段合并的策略思想主要体现在以下几个方面&#xff1a…

dll动态链接库【C#】

1说明: 在C#中,dll是添加 【类库】生成的。 2添加C#的dll: (1)在VS中新建一个Windows应用程序项目,并命名为TransferDll。 (2)打开Windows窗体设计器,从工具箱中为窗体…

Python中读写(解析)JSON文件的深入探究

目录 一、引言 二、如何读取JSON文件 三、如何写入JSON文件 四、如何解析JSON字符串 五、错误处理和异常处理 六、使用第三方库提高效率 七、总结 一、引言 在Python中,我们经常使用JSON(JavaScript Object Notation)格式来存储和传输…

windows 安装两个mysql

参考链接一 参考链接二 安装第二个mysql 端口号改为3307进入 bin目录管理员身份运行cmd mysqld --defaults-fileC:\\soft\\1mysql-5.7.33-winx64\\my.ini --initialize --console 初始化 data 目录修改密码 修改 my.ini 文件添加 skip-grant-tables 见下启动mysql mysqld -…