0


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

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

此时我们需要点击一下左下角内容侧滑菜单,将其固定到布局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.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. 通过将滑块拖动到特定值来设置不透明度

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

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 虚幻 ui

本文转载自: https://blog.csdn.net/Xxy9426/article/details/128865219
版权归原作者 你是一个铁憨憨 所有, 如有侵权,请联系我们删除。

“ArcGIS Maps SDK for Unreal Engine通过UI方式显示地图教程”的评论:

还没有评论