找回密码
 立即注册
查看: 700|回复: 2

(一)Cesium for Unreal快速入门(译)

[复制链接]
发表于 2021-4-19 16:44 | 显示全部楼层 |阅读模式
原文请参考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 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插件页面。
2. 登录虚幻引擎商城,并单击免费按钮,将插件安装在虚幻引擎中。
第二步:创建项目和关卡

    启动虚幻引擎,并创建一个新项目。在选择游戏模板界面选择游戏
点击下一步,在选择模板界面选择空白。其他模板类型也可以。
项目设置中选择不带初学者内容包,以避免不必要的内容使关卡混乱。选择新项目路径,修改项目名称后,点击创建项目
2. 激活Cesium for Unreal插件。打开菜单编辑->插件,然后在插件窗口右上角的搜索栏中搜索cesium。确保Cesium for Unreal插件的已启用复选框已勾选。启用插件后,重新启动虚幻引擎。
3. 打开菜单文件->新建关卡,选择关卡
4. 打开菜单文件->保存当前关卡,选择存储路径,将新关卡命名为QuickStart。(译者注:关于命名规则,请参考UE4 Style Guide)
5. 打开菜单编辑->项目设置,再选择项目->地图和模式。将编辑器开始地图游戏默认地图设置为刚创建的关卡QuickStart。这样可以确保在重新启动虚幻编辑器时自动重新打开您的关卡。


第三步:添加SunSky照明和FloatingPawn

CesiumSunSky蓝图给室外场景增加了炫酷的天阳光照明,它扩展了内置的SunSky蓝图,让它跟真实地球上的太阳光一模一样。同样,Cesium的FloatingPawn扩展了内置的FloatingPawn,使其能在地球上任意移动,并允许使用鼠标滚轮控制移动速度,特别是距离地面很远时非常有用(用键盘WSAD前后左右移动,鼠标控制方向,滚轮控制移动速度)。
当视角在Cesium地球上方的不同位置之间飞行时,照相机应遵循与地球表面平行的弯曲路径,而不是线性的点对点飞行轨迹。Cesium的FloatingPawn就是做这个用的,它确保你从地球的一边飞到地球的另外一边时,向上的方向始终从地球的球心指向天空(直观的理解就是:因为地球是园的,不是平的,所以虚幻引擎默认的相机移动方式就不行了)。
    打开菜单编辑->项目设置,然后搜索luminance(或者参考下图)。确保启用了扩展自动曝光设置中的默认亮度范围选项。如果未启用此选项,则在阳光直射的情况下,用SunSky照明会完全曝光,界面白茫茫一片。启用此选项后,需要重新启动虚幻引擎。
2. 单击内容浏览器右下角的视图选项,并确保同时勾选了显示引擎内容显示插件内容
3. 在内容浏览器中,单击选择路径按钮,搜索Cesium,或者向下滚动以查找并单击CesiumForUnreal内容
4. 将CesiumSunSky和FloatingPawn蓝图拖动到关卡视口中。


第四步:在关卡开始时自动拥有FloatingPawn

在上面的步骤中,您将FloatingPawn添加到了关卡中,但是玩家还不能控制它,还需要执行下列步骤才能使用它在世界各地移动。
    世界大纲视图中选择FloatingPawn。设置游戏开始时,玩家0自动控制FloatingPawn:在细节面板中,搜索possess,点击自动控制玩家旁边的下拉菜单,然后选择玩家0


第五步:连接到Cesium ion

    通过单击工具栏中的Cesium图标来打开Cesium面板。
该Cesium面板将显示在编辑器窗口的左侧。
2. 点击Connect按钮,连接到Cesium ion。这时浏览器会自动打开,要求您允许Cesium for Unreal使用Cesium ion中当前登录的帐户访问您的资产:
选择Allow并返回虚幻引擎以继续下一步。
第六步:创建一个地球

在此步骤中,您将使用Cesium ion的资产填充场景。
    通过单击工具栏中的Cesium按钮来打开Cesium面板。在Quick Add中,单击Cesium World Terrain + Bing Maps Aerial imagery右侧的加号(可以随意添加其他Cesium World Terrain + imagery组合之一)。
此步骤将在世界大纲视图中生成新的Cesium World TerrainCesiumGeoreference蓝图对象。
2. 地平线附近可能会有一条黑条。要解决此问题,请选择CesiumGeoreference对象,在细节面板中找到Sun Sky,然后使用刚创建的CesiumSunSky对象对其进行初始化。


一旦将CesiumSunSky对象连接到CesiumGeoreference对象,便会自动修改其纬度和经度属性,以使地球和太阳保持同步。
3. 如果场景太暗,请调整CesiumSunSky对象上的Solar Time属性,比如设置一个美丽的日落场景。您可能还想更改时区Time Zone


有关这些属性如何工作的更多信息,请访问虚幻引擎文档站点上的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帐户中存在的所有资产。
2. 选择Cesium OSM Buildings,然后单击Add Add to Level
然后您将看到Cesium OSM Buildings现在已添加到世界大纲视图中。
如果Cesium ion Assets中没有Cesium OSM Buildings,请访问Cesium OSM Buildings资产仓库页面,然后单击Add按钮添加到我的资产。然后返回虚幻引擎,关闭Cesium ion Assets面板,然后再次单击Cesium面板上的Add按钮以重新打开并刷新资产列表。
3. 如果您看不到建筑物,那么您可能在地球上没有建筑物的地方。要导航到地球的某个地方,请在世界大纲视图中选择CesiumGeoreference对象,在细节面板中,在Cesium类别下找到原点经度Origin Longitude,原点维度Origin Latitude和原点高度Origin Height属性。
将这些属性调整为您想要的值。例如,以下建筑物位于美国伊利诺伊州芝加哥市,经度-87.629799,纬度41.878101,高度2250.0。
设置CesiumGeoreference原点后,编辑器相机将立即跳转到那里。但是,尽管原点发生了变化,但FloatingPawn会进行自我调整,以保持其在地球上的先前位置。当你点击运行按钮时,如果您想在芝加哥开始,在世界大纲视图中选中FloatingPawn,设置其位置为(0,0,0)。
4. 点击工具栏运行按钮,然后使用键盘W,A,S和D键以及鼠标在地球上漫游!用鼠标滚轮可以控制飞行速度。当相机离地面近时,往下滚动鼠标滚轮降低飞行速度;当相机离地面远时,向上滚动鼠标滚轮增加飞行速度。在编辑器中,还可以用右上角的控件修改相机移动速度。


下一步

现在,您可以添加更多资产并自定义场景了!
都看到这里了,加个技术交流群一起组队研究呗^^
https://jq.qq.com/?_wv=1027&k=obzw18h1                                                                                              (二维码自动识别)
转载:(一)Cesium for Unreal快速入门(译)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2021-4-19 16:49 | 显示全部楼层
请问下怎么上材质啊
发表于 2021-4-19 16:58 | 显示全部楼层
选中3DTileset对象,属性里搜索Material,不过目前感觉有bug,不能给OSM Building上Instanced材质,透明材质也不行。
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-12-23 20:41 , Processed in 0.137567 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表