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

前言

 

一个 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

ArcGIS Maps SDK for Unreal Engine通过UI方式显示地图教程_第1张图片

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

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

ArcGIS Maps SDK for Unreal Engine通过UI方式显示地图教程_第2张图片

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

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

ArcGIS Maps SDK for Unreal Engine通过UI方式显示地图教程_第3张图片

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

ArcGIS Maps SDK for Unreal Engine通过UI方式显示地图教程_第4张图片

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

ArcGIS Maps SDK for Unreal Engine通过UI方式显示地图教程_第5张图片

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

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

ArcGIS Maps SDK for Unreal Engine通过UI方式显示地图教程_第6张图片

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

ArcGIS Maps SDK for Unreal Engine通过UI方式显示地图教程_第7张图片

ArcGIS Maps SDK for Unreal Engine通过UI方式显示地图教程_第8张图片

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

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

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

ArcGIS Maps SDK for Unreal Engine通过UI方式显示地图教程_第9张图片

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

ArcGIS Maps SDK for Unreal Engine通过UI方式显示地图教程_第10张图片

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

ArcGIS Maps SDK for Unreal Engine通过UI方式显示地图教程_第11张图片

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

ArcGIS Maps SDK for Unreal Engine通过UI方式显示地图教程_第12张图片

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

ArcGIS Maps SDK for Unreal Engine通过UI方式显示地图教程_第13张图片

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

ArcGIS Maps SDK for Unreal Engine通过UI方式显示地图教程_第14张图片

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

这是地图选项卡的结果。

ArcGIS Maps SDK for Unreal Engine通过UI方式显示地图教程_第15张图片

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

ArcGIS Maps SDK for Unreal Engine通过UI方式显示地图教程_第16张图片

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

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

ArcGIS Maps SDK for Unreal Engine通过UI方式显示地图教程_第17张图片

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

ArcGIS Maps SDK for Unreal Engine通过UI方式显示地图教程_第18张图片

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

ArcGIS Maps SDK for Unreal Engine通过UI方式显示地图教程_第19张图片

1.2.4 设置底图和 API 密钥

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

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

ArcGIS Maps SDK for Unreal Engine通过UI方式显示地图教程_第20张图片

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

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

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

ArcGIS Maps SDK for Unreal Engine通过UI方式显示地图教程_第21张图片

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

ArcGIS Maps SDK for Unreal Engine通过UI方式显示地图教程_第22张图片

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

1.2.5 设置高程

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

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

这是高程面板的结果。

ArcGIS Maps SDK for Unreal Engine通过UI方式显示地图教程_第23张图片

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

ArcGIS Maps SDK for Unreal Engine通过UI方式显示地图教程_第24张图片

双击大纲视图窗口中的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.9

ArcGIS 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.6

ArcGIS Online 项目:NewYorkCity_PopDensity
图层名称:03 - New York Population Density
类型:ArcGIS Image Layer
在线服务网址(来源):
https://tiles.arcgis.com/tiles/4yjifSiIG17X0gW4/arcgis/rest/services/NewYorkCity_PopDensity/MapServer
不透明度:1.0

ArcGIS 在线项目: 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. 通过将滑块拖动到特定值来设置不透明度

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

ArcGIS Maps SDK for Unreal Engine通过UI方式显示地图教程_第25张图片

1.2.7 设置天空和光照

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

ArcGIS Maps SDK for Unreal Engine通过UI方式显示地图教程_第26张图片

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

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

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

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

ArcGIS Maps SDK for Unreal Engine通过UI方式显示地图教程_第27张图片

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

ArcGIS Maps SDK for Unreal Engine通过UI方式显示地图教程_第28张图片

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

ArcGIS Maps SDK for Unreal Engine通过UI方式显示地图教程_第29张图片

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

ArcGIS Maps SDK for Unreal Engine通过UI方式显示地图教程_第30张图片

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

ArcGIS Maps SDK for Unreal Engine通过UI方式显示地图教程_第31张图片

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

ArcGIS Maps SDK for Unreal Engine通过UI方式显示地图教程_第32张图片

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

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

ArcGIS Maps SDK for Unreal Engine通过UI方式显示地图教程_第33张图片

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

ArcGIS Maps SDK for Unreal Engine通过UI方式显示地图教程_第34张图片

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

ArcGIS Maps SDK for Unreal Engine通过UI方式显示地图教程_第35张图片

此时,您应该会看到带有范围配置的裁剪地图数据。在“大纲视图”面板中,双击默认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,一起交流分享,需要测试数据和软件资源的随时联系。

你可能感兴趣的:(UE,arcgis,arcgis,虚幻,ui,ue5,游戏引擎)