前言

一个 UE 项目,可以包括多个关卡(level),关卡可以在菜单栏中新建(文件->新建关卡)。

使用快捷键 Ctrl+S 可以保存当前关卡,你可以保存到上面提到的演示文件放置的位置,你可以看看有什么区别。

对于游戏引擎来说,一个关卡需要有地图场景、角色、控制UI、事件等组成要素,这样构建成一个完整的游戏关卡。

但是对于地理/建筑物模型的展示来说,只需要一个地图场景即可,所以我们再 UE 中主要应用和调整的就是地图场景这部分(控制UI可能会用到)功能。

同时,UE5 提供了多种实现或者说构建地图场景乃至于整个关卡的方式

第一种 UI 方式。即使用物体的细节选项卡,下面有很多图形化的选项,根据需要调整或勾选。这是最简单,也是大部分软件采用的使用方式,优点是直观、门槛较低。

第二种 蓝图(BluePrint)方式。通过节点连接实现的方式。

第三种 C++ API 方式。通过编写 C++ 代码调用 API 完成场景的构建。当然门槛较高但是灵活可以实现很多定制化的要求。

后续教程都是使用 UI 的方法界面实现场景的创建和运行。

1 SDK 在 UE 中的使用

Note:使用ArcGIS Maps SDK for Unreal Engine之前,需要拥有ArcGIS开发者账户,利用当中的key才可以正常运行。

1.1 打开 ArcGISMapsSDK 中自带的示例

利用我们上个教程所提供的教程,创建好一个新项目,将SDK作为插件导入之后,再次打卡UE5

参考此教程将ArcGIS插件导入虚幻引擎:ArcGIS Maps SDK for Unreal Engine和Unreal Engine5的安装https://blog.csdn.net/Xxy9426/article/details/128845605?spm=1001.2014.3001.5501

如果作为一个全新项目打开后,如下显示,

此时我们需要点击一下左下角内容侧滑菜单,将其固定到布局UI中,方便后续操作,(可自行决定)

将其打开固定后,左侧菜单栏会有一个Pulgins文件夹,如果没有此文件夹,点击右侧设置栏,勾选上显示插件内容。

然后我们打开此文件夹,定位到Samples文件夹,此文件夹是Esri插件所提供的示例关卡,我们可以查看虚幻中地图所展示的样式。

此时我们随机选取一个示例,双击打开,但是此时打开发现视图内并没有任何东西,原因是我们并没有满足先决条件,没有将API Key值输入进去。

访问Esri的开发账户 ArcGIS Developers ,获取到Key值 。

点击右侧Actor中的ArcGISMap模块,在下方细节板块,找到Authentication->API Key,将复制的Key值粘贴到输入框内,回车即可

就可以在显示框内显示出Esri所提供的示例关卡。

Note:如果下方细节没有细节栏,可以点击窗口->细节->细节1,即可在右侧下方展示出细节栏,其他三个也可选,只是展示细节栏展示方式和位置不同。

1.2 在虚幻中借助SDK新建并显示地图场景

1.2.1 创建新关卡并打开模式面板 UI

1.单击菜单栏上的文件,然后选择新建关卡。创建

2.在弹出窗口中选择空级别

3.导航到菜单栏中的窗口>世界场景设置。这将打开“世界场景设置”面板。

4.在“世界设置”面板中,转到“场景”组并打开“高级设置”。选中启用大型世界选项。

5.单击虚幻UI工具栏中的选择模式下拉列表,然后选择ArcGIS Maps SDK

6.模式面板UI将在虚幻编辑器界面的左侧打开。

1.2.2 创建地图

  1. 模式面板 UI 中,单击地图选项卡。
  2. 选择地图类型。Local
  3. 原点位置部分中,您可以使用 GIS 场景的坐标和空间参考已知 ID (WKID) 设置 GIS 场景的中心。对于本教程,请将参数设置为以下值:
  • Longitude: -74
  • Latitude: 41
  • Altitude: 0
  • Spatial Reference WKID: 4326

5.选中启用范围复选框以显示地图范围部分

6.在地图范围中,将地图范围设置为以下值:

  • Longitude: -74.0
  • Latitude: 40.72
  • Spatial Reference WKID: 4326
  • Extent Shape: Circle
  • Radius: 5000

这是地图选项卡的结果。

7.单击“创建”按钮。在大纲视图面板中,将创建 ArcGISMapActor

1.2.3 创建和设置摄像机

适用于虚幻引擎的ArcGIS Maps SDK将为靠近摄像机的区域显示更高分辨率的LOD,为远离摄像机的区域显示较低分辨率的LOD。

  1. 单击相机选项卡。
  2. 摄像机位置定义摄像机的初始视角。将参数设置为以下值:
    • Longitude: -74.054921
    • Latitude: 40.691242
    • Altitude: 3000
    • Spatial Reference WKID: 4326

3.摄像机旋转定义摄像机的角度。

  • Heading: 55
  • Pitch: 58
  • Roll: 0

这是“相机”选项卡的结果。

4.单击“创建”按钮。在“大纲视图”面板中,将创建默认Pawn Actor。

此时,关卡仍将为空。在接下来的教程步骤中,地图数据将添加到关卡中。

1.2.4 设置底图和 API 密钥

在本教程中,您将选择需要 API 密钥的底图。

  1. 单击底图选项卡并显示面板内容。
  2. 从预设底图列表中选择影像底图。这是将底图从预设底图设置为影像的结果。

3.转到开发人员仪表板以获取 接口密钥

4.单击“身份验证”选项卡以显示面板内。

5.在“API 密钥”部分中设置 API 密钥。确保您的 API 密钥位于此屏幕截图中看到的字段中。您可以通过单击 UI 中的获取 API 密钥来查找有关如何获取 API 密钥的信息。

6.切换回底图选项卡后,之前灰显的底图图标现在应处于启用状态,表示 API 密钥已成功注册。

在虚幻项目中为多个关卡设置全局API密钥的另一种方法是通过项目设置。

1.2.5 设置高程

在本教程中,您将使用默认高程来定义地形。

  1. 单击高程选项卡并显示面板内容。
  2. 确保已选择默认高程

这是高程面板的结果。

此时,您应该能够看到部分显示在该级别上的地图数据。

双击大纲视图窗口中的Default Elevation,将关卡视图切换到配置的摄像机位置。

1.2.6 添加数据图层

您将从ArcGIS Online添加操作数据。

ArcGIS Online 项目:UrbanObservatory_NYC_TransitFrequency
图层名称:01 - New York Transit Frequency
类型:ArcGIS Image Layer
在线服务网址(来源):
https://tiles.arcgis.com/tiles/nGt4QxSblgDfeJn9/arcgis/rest/services/UrbanObservatory_NYC_TransitFrequency/MapServer
不透明度:0.9ArcGIS Online 项目:New_York_Industrial
图层名称:02 - New York Industrial Areas
类型:ArcGIS Image Layer
在线服务网址(来源):
https://tiles.arcgis.com/tiles/nGt4QxSblgDfeJn9/arcgis/rest/services/New_York_Industrial/MapServer
不透明度:0.6ArcGIS Online 项目:NewYorkCity_PopDensity
图层名称:03 - New York Population Density
类型:ArcGIS Image Layer
在线服务网址(来源):
https://tiles.arcgis.com/tiles/4yjifSiIG17X0gW4/arcgis/rest/services/NewYorkCity_PopDensity/MapServer
不透明度:1.0ArcGIS 在线项目: New York, USA Buildings
图层名称:04 - New York Buildings
类型:ArcGIS 3D Object Scene Layer
在线服务网址(来源):
https://tiles.arcgis.com/tiles/P3ePLMYs2RVChkJx/arcgis/rest/services/Buildings_NewYork_17/SceneServer
不透明度:1.0

请按照以下步骤添加每个图层。

  1. 单击图层选项卡。
  2. 添加数据部分中,从类型下拉列表中选择适当的图层类型
  3. Source字段中输入图层的在线服务 URL 以添加图像切片图层。
  4. 在名称字段中输入图层名称
  5. 单击添加按钮将图层添加到地图。添加图层后,它将显示在“图层”部分中。
  6. 通过将滑块拖动到特定值来设置不透明度

这是“图层”面板的结果。

1.2.7 设置天空和光照

  1. 从工具栏上的快速添加菜单中,选择“光源”>“定向光源”并将其拖动到关卡中以创建“平行光”。

2.在大纲视图中选择定向光,然后在“细节”面板中打开“变换”部分。

3.重置位置并将旋转设置为:

  • X: 0
  • Y: -28
  • Z: -28

4.将移动性设置为可移动

5.在“光源”部分中,将“强度值”更改为 。3.1416

6.在“级联阴影贴图”部分中,将“动态阴影距离可移动光源”更改为 。2000000

7.在大气与云部分中,启用大气太阳光

8.在Actor>生成冲突处理方法部分中,选择固定生成,忽略碰撞

9.从工具栏上的快速添加菜单中,选择光源>天空光照,然后将其拖到关卡中以创建天空灯光

10.在变换部分中,重置位置并将移动性设置为可移动

11.在光源部分中,启用实时捕获

12.从工具栏上的快速添加菜单中,选择“视觉效果”>“天空大气”并将其拖到关卡中以创建天空

13.在星球部分中,将地面半径更改为 。6378.137207

此时,您应该会看到带有范围配置的裁剪地图数据。在“大纲视图”面板中,双击默认Pawn,将编辑器摄像机移动到配置的摄像机位置。在编辑器模式下,按住鼠标右键的同时使用 WASD 键四处移动,或按住鼠标左键环顾四周。要在编辑器模式下提高视口中的摄像机导航速度,请单击视口右上角的摄像机速度图标,然后通过拖动滑块来增加值。

1.3 将默认Pawn替换为ArcGIS Pawn

在编辑器模式下,你可以使用虚幻引擎中的标准视点控件自由导航场景。为了在播放模式下导航场景,您可以为Pawn编写自己的控制器组件,或者通过在DefaultPawn中修改移动组件来编写。此外,还可以将Default Pawn替换为样本关卡中使用的示例 ArcGIS Pawn

  1. 内容菜单中打开下面的位置。

Plugins > ArcGIS Maps SDK for Unreal Engine C++ Classes > ArcGISSamples > Public

  1. 单击 ArcGIS Pawn 以将其选中。选择后,背景颜色将变为蓝色。
  2. 右键单击“大纲视图”面板中的DefaultPawn
  3. 单击将所选Actor替换为,然后选择ArcGIS Pawn

您已成功使用模式面板 UI 配置局部场景。

单击工具栏上的播放图标,然后使用 WASD 键四处移动,按住鼠标右键鼠标环顾四周或按住鼠标左键平移。

结束语

欢迎关注我的公众号,懒得取名的GISer,一起交流分享,需要测试数据和软件资源的随时联系。

ArcGIS Maps SDK for Unreal Engine通过UI方式显示地图教程相关推荐

  1. 【新手必读】Unreal Engine 4 UI入门教程(下)

    本文是<Unreal Engine 4 UI 入门教程的下半部分,上半部分请见<Unreal Engine 4 UI 入门教程(上)> 作者|Tommy Tran Aug 3 201 ...

  2. 【学习笔记】Unreal Engine 4 虚幻引擎蓝图中级教程物理碰撞教程

    教程链接:Unreal Engine 4 虚幻引擎蓝图中级教程物理碰撞 想共享的小伙伴可以E-mail我:lxbcolorgalaxy@qq.com 目录 第一章 常见的物理现象及分析 1蓝图模板中的 ...

  3. Arcgis runtime sdk for Qt 开发记录(三)地图基本操作

    前言 本文主要介绍地图一般操作,包括设置观察点,旋转,放大,缩小. 实现代码 1.创建arcgis widget工程,这次选择另一种在线地图lightGrayCanvas,online basemap ...

  4. arcgis flex api 由于沙箱安全的原因 无法显示地图 的解决办法

    在使用arcgis flex api做地图的时候,调用自己本机的地图服务.代码如下 <?xml version="1.0" encoding="utf-8" ...

  5. Unreal Engine 4(UE4)下载教程

    首先登陆到UE官方网站https://www.unrealengine.com  下载EpicGamesLauncherInstaller-2.1.3-2533468.msi文件 按照提示进行安装 如 ...

  6. 【Silverlight】Bing Maps学习系列(二):通过Bing Maps Silverlight Control如何显示地图...

    如本系列第一篇你所介绍的,开发基于Silverlight的Bing Maps除了开发环境还需要一个开发Key,这个Key是用来做什么的呢?Silverlight控件在做地图呈现的时候它是一个必不可少的 ...

  7. Unreal Engine 4 —— 冷却UI的制作

    这篇博客介绍了如何使用Unreal Engine 4的材质编辑器中制作通常游戏中的技能冷却的UI. 该UI材质通常用于直接蒙在对应的技能图标之上,接收一个浮点参数Percentage,用于表现其冷却情 ...

  8. Unreal Engine 4 中的 UI 优化技巧

    http://mp.weixin.qq.com/s/bybEHM9tF-jBPxxqXfrPOQ## 2017-05-09 虚幻引擎 Unreal Open Day 2017 活动上 Epic Gam ...

  9. Unreal Engine 虚幻引擎 接入第三方SDK

    前言 虚幻引擎对SDK接入有着一套专门的方式,本文主要描述了如何给使用虚幻引擎开发的项目接入第三方SDK,并分享了接入微信SDK的分享等基础功能的实践过程,还涉及到调试和提高整合SDK效率的一些方法. ...

最新文章

  1. 高斯过程及其家族往事
  2. java 随机生成常用汉字_Java随机生成中文汉字
  3. 又一年度热销爆款,OPPO R11上市一个月勇夺线下销量第一
  4. 合肥将全力打造“城市超脑” 创建智慧城市典范
  5. 【133】常见问题解答
  6. Java---形参个数可变的方法
  7. 在所有浏览器下一次性测试您的网站
  8. Invalid options object. Copy Plugin has been initialized using an options object that does not match
  9. 我眼中的程序化交易之路
  10. 随手写的一个小程序,将gz压缩文件读取到内存中 并用base64编码 及相关解码
  11. QGIS:让数据随时间动起来
  12. Kubernetes 3年生产中我们所学到的东西
  13. 记住,在看小电影前一定要检查下域名是不是 HTTPS 的
  14. 拯救智慧城市:要智商还有生气
  15. RocketMQ:两种消费方式:pull拉、push推
  16. word size计算机,计算机基础结构 - 扣丁书屋 - https://www.codingsky.com
  17. Unity 接入百度AI - 植物识别
  18. Found duplicate column(s) when inserting into hdfs://nameservice1/origin_data/events_7/data: `dt`;
  19. 开发者工具 Top 100 榜单出炉啦!
  20. 指标公式c语言源码下载,通达信超赢天下指标公式源码(通达信)

热门文章

  1. 迭代最近点(Iterative Closest Point, ICP)算法
  2. 文博界最早利用计算机技术的,现代计算机技术博物馆中的应用
  3. 解决方案之Android 国际化资源完美兼容6.0,7.0,8.0
  4. 阿里云部署Django项目(nginx+uWSGI)-2018.11
  5. NT151应用案例:西门子PLC S7-1200与派克ACR9000的通信(Part 4)
  6. 作为使用者如何应对JCenter远程仓库停止维护
  7. 运动蓝牙耳机哪个品牌好,五款运动专业户必备的耳机推荐
  8. 苹果删除照片不释放内存_手机内存不足又卡顿,别瞎清理,删除这些文件夹,轻松释放几个G!...
  9. Android X86更改屏幕分辨率
  10. 理解块存储、文件存储和对象存储的应用场景和选择