

Cesium for Unreal加载倾斜摄影 - ITman彪叔
source link: https://www.cnblogs.com/flyfox1982/p/17032948.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

本文介绍UE4中通过Cesium插架加载本地倾斜摄影模型。Cesium for Unreal插件运行在UE环境何总运行Cesium,这样方便做一个GIS应用。
安装Cesium for Unreal插件
在UE 虚幻商城中,搜索 “Cesium for Unreal”, 然后下载插件,下载完成后,可以点击安装到引擎:
可以安装到引擎,需要UE 4.26以上,笔者使用4.27版本,也可以用于UE5.
打开UE编辑器,创建一个项目,点击菜单: 编辑->插件,搜索 Cesium for Unreal
点击启用。
启用之后可能需要重启
添加Cesium SunSky
Cesium SunSky扩展了UE本身的SunSky,针对Cesium场景做了优化。
有关细节此处不详细说明。
添加Dynamic Pawn
DynamicPawn 是插件定制的基于Cesium场景的一个Pawn对象,赋予了基于地球的运动方式,此处也不详细说明。
实际上DynamicPawn不是必须的,也可以自己写一个Pawn 类来进行操作。但是DynamicPawn可以进行碰撞检测,让镜头总是在地球(或者倾斜摄影的表面运动),如果是挺大场景,可能这一点比较重要。
对于较小场景,可以自己进行Pawn类的编写适合自己的操作习惯。
添加倾斜摄影
首先添加一个Blank 3D Tiles Tileset 到场景中,插件将自动添加Cesium Georeference、CesiumCameraManager、CesiumCreditSystemBPM等其它三个控件(如果原先没有)
点击该对象,在该对象的详情页面设置加载的倾斜摄影路径,
在【细节】面板中,查找“Cesium”类别。
Source可以填写倾斜摄影的来源。来源可以是Cesium ion,也可以From Url。
如果需要使用Cesium ion的线上数据,可以登录Cesium ion账户。通过点击【Add】按钮,弹出【Cesium ion Assets】选项卡,内部列表数据与线上Cesium ion账户内【My Assets】选项卡中的数据一样。因为Cesium ion数据服务器在国外,考虑到数据使用的安全性以及带宽流量,本文主要实践加载本地部署数据。
本地部署的时候,source选择From Url。
而From Url又可以是本地格式和网络格式。(本地格式:file:///C://tileset.json。网络URL地址格式:http:///tileset.json。)
比如笔者的案例中,使用本地文件加载,输入如下所示:
更改CesiumGeoreference定位(解决看不到)
CesiumGeoreference用于设置坐标系的原点。
鼠标选择添加的3d Tile模型,按F建聚焦该对象,然后,选择CesiumGeoreference对象,点击按钮“Place CesiumGeoreference Origin here”可以把原点定位到加载的模型处。
需要注意的一个选项是 “Keep World Origin Near Camera”,如果启用改选项,在运行态下,世界坐标原点会随着镜头的变化而变化,从而导致所有的actor(非Geo对象)的坐标都产生变化。 一般建议在小场景下,关闭次选项。 该选项的目的是在大场景下,避免对象的坐标值很大,超过UE可以能够存储的精度。
调整CesiumSunSky(解决一片黑)
如果场景是黑的或者较暗,可能是因为倾斜摄影地区是夜间,调整CesiumSunSky对象上的“Solar Time”属性。
至此,模型加载完成,如下图示。
有关3D Tile的一些说明
Maximum Screen Space Error
加载3d title模型后,我们可能看到模型的精度很差。
这个是因为** Maximum Screen Space Error造成的, Maximum Screen Space Error默认值是16。 ** Maximum Screen Space Error用于控制模型的精度,数值越大,精度越小,性能越好;反之,精度越大,性能越差。
选中3D title 模型,在 细节面板下->Level of Detail -> Maximum Screen Space Error可以设置值。
把值改为2后,看到的效果:
Enable Frustum Culling
改选项表示是否启用 镜头视椎体裁剪。 如果启用,镜头看不到的tile 将会被隐藏显示,当镜头看到的时候,又会重新加载,这就会导致,用户总是会看到tile从无到有的加载过程。
但是如果不启用,可能会导致很多tile在内存中不会被释放,从而导致内存溢出。
https://cesium.com/learn/unreal/unreal-quickstart/
https://www.cnblogs.com/bimgis/p/16457060.html
关注公号“ITMan彪叔” 可以添加作者微信进行交流,及时收到更多有价值的文章。
Recommend
-
11
Cesium KML-CZML EditorImport KML/CZML/GeoJSON Create Edit Icon Label Text
-
15
Files Permalink Latest commit message Commit time
-
8
做了大概三个月的基于cesium地图开发的应用场景和大屏;主要想从cesium基本的入门到一些简单的场景交互做一个代码分享。Cesium是三维地图开发的一个前端gis引擎;支持wtms、影像、模型、地形、倾斜摄影的数据加载。并通过对点线面、材质、视角等图形学知...
-
6
0x00 楔子 最近客户在使用我们的的三维可视化平台的时候,总是会出现浏览器崩溃,webgl context lost的情况。 这种请一般出现在电脑配置很低的电脑上,比如没有独显,只有很小现存的集成显卡的电脑。 但是客户的电脑大部分都是配置还不错,有独...
-
6
使用开源Cesium+Vue实现倾斜摄影三维展示 VUE开发工具:V...
-
9
UE4 WebUI插件使用指南 ITman彪叔的博客,微信公众号:ITman彪叔。欢迎对canvas、webgl、图形学感兴趣的读者订阅专栏。 点击下面链接可以订阅: [canvas高级进阶] https://xiaozhuanlan.com/canvas [webgl入门到高级进阶]h...
-
4
「睿铂科技」:专注倾斜摄影设备研发,实现国产替代 | 解码“专精特新”尹子璇@36氪四川·2022-12-15 09:40今年,「睿铂科技」被认定为国家级专精特新“小巨人”...
-
12
电力布局三维编辑器功能设计 - ITman彪叔 - 博客园 ITman彪叔的博客,微信公众号:ITman彪叔。欢迎对canvas、webgl、图形学感兴趣的读者订阅专栏。 点击下面链接可以订阅: [canvas高级进阶]...
-
3
Cesium加载ArcGIS Server4490且orgin -400 400的切片服务
-
10
Cesium 是一个地球可视化平台和工具链,具有数据切片、数据分发、三维可视等功能。 Cesium 支...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK