原文请参考Cesium官方文档:Cesium for Unreal Quickstart
译者注:如果您做过Web前端可视化、WebGL、GIS相关的开发工作,您肯定听说过Cesium。
Cesium是一个开源的三维GIS平台,用卫星地图、地形、建筑白膜、倾斜摄影、点云等数据还原真实的三维地球。
2020-05-28日,虚幻官方论坛发过From Ants to Outer Space的文章,作者用非常tricky的方式模拟了从地面上的一个小蚂蚁飞到外太空看地球的场景。
早期Cesium提供了Javascript语言的CesiumJS框架,如今Cesium for Unreal于2021-03-30正式发布,让虚幻引擎具有了Google Earth的能力,为模拟真实世界打开了一扇新的大门。
这是一份关于用Cesium World Terrain和Cesium OSM Buildings创建Cesium for Unreal应用的快速入门教程。(译者注:需要您具有基本的虚幻引擎使用技能,懂一点C++更好。关于虚幻引擎的基本技能,请参考官方在线学习教程):
- 初识虚幻引擎
- 虚幻引擎入门
- 理解项目和文件结构
- 虚幻引擎编辑器基础——编辑器入门
- 蓝图:基础概念
- 虚幻编辑器基础——材质
- 材质:基础概念
- 了解可视化设计中的材质
-
将蓝图转换为C++
用Cesium World Terrain和Cesium OSM Buildings创建的韩国首尔在虚幻引擎中的场景
用Cesium World Terrain和Cesium OSM Buildings创建的韩国首尔在虚幻引擎中的场景
您将学会如何:
- 在虚幻引擎中安装Cesium for Unreal插件
- 添加一个关卡并且从Cesium ion导入资产
- 在Cesium for Unreal应用中添加照片级的光照效果
准备工作
- 安装虚幻引擎(至少需要4.26或以上版本)。关于如何安装虚幻引擎,请访问虚幻引擎下载页面。
- 一个Cesium ion帐号,用于将地形和建筑物资产流式传输到虚幻引擎中。如果您还没有免费的Cesium ion帐号,请注册一个。
Cesium ion是一个用于流式传输和托管3D内容的开放平台,并且包含全球的、精准的GIS数据,可用于创建展示真实三维地球的应用程序。
第一步:安装Cesium for Unreal插件
如果尚未安装,请先安装Cesium for Unreal插件。
-
在虚幻引擎市场上打开Cesium for Unreal插件页面。
image
-
登录虚幻引擎商城,并单击免费按钮,将插件安装在虚幻引擎中。
第二步:创建项目和关卡
-
启动虚幻引擎,并创建一个新项目。在选择游戏模板界面选择游戏。
image
点击下一步,在选择模板界面选择空白。其他模板类型也可以。
image
在项目设置中选择不带初学者内容包,以避免不必要的内容使关卡混乱。选择新项目路径,修改项目名称后,点击创建项目。
image -
激活Cesium for Unreal插件。打开菜单编辑->插件,然后在插件窗口右上角的搜索栏中搜索cesium。确保Cesium for Unreal插件的已启用复选框已勾选。启用插件后,重新启动虚幻引擎。
image
-
打开菜单文件->新建关卡,选择关卡。
image
-
打开菜单文件->保存当前关卡,选择存储路径,将新关卡命名为QuickStart。(译者注:关于命名规则,请参考UE4 Style Guide)
image
-
打开菜单编辑->项目设置,再选择项目->地图和模式。将编辑器开始地图和游戏默认地图设置为刚创建的关卡QuickStart。这样可以确保在重新启动虚幻编辑器时自动重新打开您的关卡。
image
第三步:添加SunSky照明和FloatingPawn
CesiumSunSky蓝图给室外场景增加了炫酷的天阳光照明,它扩展了内置的SunSky蓝图,让它跟真实地球上的太阳光一模一样。同样,Cesium的FloatingPawn扩展了内置的FloatingPawn,使其能在地球上任意移动,并允许使用鼠标滚轮控制移动速度,特别是距离地面很远时非常有用(用键盘WSAD前后左右移动,鼠标控制方向,滚轮控制移动速度)。
当视角在Cesium地球上方的不同位置之间飞行时,照相机应遵循与地球表面平行的弯曲路径,而不是线性的点对点飞行轨迹。Cesium的FloatingPawn就是做这个用的,它确保你从地球的一边飞到地球的另外一边时,向上的方向始终从地球的球心指向天空(直观的理解就是:因为地球是园的,不是平的,所以虚幻引擎默认的相机移动方式就不行了)。
-
打开菜单编辑->项目设置,然后搜索luminance(或者参考下图)。确保启用了扩展自动曝光设置中的默认亮度范围选项。如果未启用此选项,则在阳光直射的情况下,用SunSky照明会完全曝光,界面白茫茫一片。启用此选项后,需要重新启动虚幻引擎。
image
-
单击内容浏览器右下角的视图选项,并确保同时勾选了显示引擎内容和显示插件内容。
image
-
在内容浏览器中,单击选择路径按钮,搜索Cesium,或者向下滚动以查找并单击CesiumForUnreal内容。
image
-
将CesiumSunSky和FloatingPawn蓝图拖动到关卡视口中。
image
第四步:在关卡开始时自动拥有FloatingPawn
在上面的步骤中,您将FloatingPawn添加到了关卡中,但是玩家还不能控制它,还需要执行下列步骤才能使用它在世界各地移动。
- 在世界大纲视图中选择FloatingPawn。
- 设置游戏开始时,玩家0自动控制FloatingPawn:在细节面板中,搜索possess,点击自动控制玩家旁边的下拉菜单,然后选择玩家0。
image
第五步:连接到Cesium ion
-
通过单击工具栏中的Cesium图标来打开Cesium面板。
image
该Cesium面板将显示在编辑器窗口的左侧。
image -
点击Connect按钮,连接到Cesium ion。这时浏览器会自动打开,要求您允许Cesium for Unreal使用Cesium ion中当前登录的帐户访问您的资产:
image
选择Allow并返回虚幻引擎以继续下一步。
第六步:创建一个地球
在此步骤中,您将使用Cesium ion的资产填充场景。
-
通过单击工具栏中的Cesium按钮来打开Cesium面板。在Quick Add中,单击Cesium World Terrain + Bing Maps Aerial imagery右侧的加号(可以随意添加其他Cesium World Terrain + imagery组合之一)。
image
此步骤将在世界大纲视图中生成新的Cesium World Terrain和CesiumGeoreference蓝图对象。
image -
地平线附近可能会有一条黑条。要解决此问题,请选择CesiumGeoreference对象,在细节面板中找到Sun Sky,然后使用刚创建的CesiumSunSky对象对其进行初始化。
image
一旦将CesiumSunSky对象连接到CesiumGeoreference对象,便会自动修改其纬度和经度属性,以使地球和太阳保持同步。
- 如果场景太暗,请调整CesiumSunSky对象上的Solar Time属性,比如设置一个美丽的日落场景。您可能还想更改时区Time Zone。
image
有关这些属性如何工作的更多信息,请访问虚幻引擎文档站点上的SunSky对象文档。
第七步:将全球三维白膜建筑(OSM Buildings)添加到场景中
在此步骤中,您将在Cesium World Terrain上面添加Cesium OSM Buildings。与步骤六相似,您将使用编辑器中的Cesium面板添加新资产。
-
导航回到虚幻引擎中的Cesium面板。您将使用Cesium ion Assets窗口来添加Cesium OSM Buildings ,而不是像上一步那样使用Quick Add窗口。单击左上角的Add按钮以切换到Cesium ion Assets窗口(此窗口默认在左下方,在内容浏览器页签右边)。在这里,您将看到Cesium ion帐户中存在的所有资产。
image
-
选择Cesium OSM Buildings,然后单击Add Add to Level。
image
然后您将看到Cesium OSM Buildings现在已添加到世界大纲视图中。
如果Cesium ion Assets中没有Cesium OSM Buildings,请访问Cesium OSM Buildings资产仓库页面,然后单击Add按钮添加到我的资产。然后返回虚幻引擎,关闭Cesium ion Assets面板,然后再次单击Cesium面板上的Add按钮以重新打开并刷新资产列表。
image
-
如果您看不到建筑物,那么您可能在地球上没有建筑物的地方。要导航到地球的某个地方,请在世界大纲视图中选择CesiumGeoreference对象,在细节面板中,在Cesium类别下找到原点经度Origin Longitude,原点维度Origin Latitude和原点高度Origin Height属性。
image
将这些属性调整为您想要的值。例如,以下建筑物位于美国伊利诺伊州芝加哥市,经度-87.629799,纬度41.878101,高度2250.0。
image
设置CesiumGeoreference原点后,编辑器相机将立即跳转到那里。但是,尽管原点发生了变化,但FloatingPawn会进行自我调整,以保持其在地球上的先前位置。当你点击运行按钮时,如果您想在芝加哥开始,在世界大纲视图中选中FloatingPawn,设置其位置为(0,0,0)。 -
点击工具栏运行按钮,然后使用键盘W,A,S和D键以及鼠标在地球上漫游!用鼠标滚轮可以控制飞行速度。当相机离地面近时,往下滚动鼠标滚轮降低飞行速度;当相机离地面远时,向上滚动鼠标滚轮增加飞行速度。在编辑器中,还可以用右上角的控件修改相机移动速度。
image
下一步
现在,您可以添加更多资产并自定义场景了!继续添加倾斜摄影资产(敬请期待)。
网友评论