本文介绍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