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

3 篇文章 0 订阅

前言

 

一个 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,一起交流分享,需要测试数据和软件资源的随时联系。

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
ArcGIS Maps SDK for Unity是一款由Esri开发的用于Unity游戏引擎地图开发工具。该工具使游戏开发者可以在Unity中集成ArcGIS地图功能,从而为游戏增添地理信息系统 (GIS) 功能和可视化效果。 ArcGIS Maps SDK for Unity教程提供了详细的指导,帮助开发者了解如何在Unity中使用该工具。教程中的内容包括但不限于以下几个方面: 1. 安装和设置:教程会详细介绍安装ArcGIS Maps SDK for Unity的步骤,并向开发者展示如何进行必要的设置,以便开始使用地图功能。 2. 地图加载和显示教程会演示如何在Unity中加载并显示地图数据。开发者将学会如何根据需求选择并加载不同的地图服务,以及如何设置地图显示样式和缩放级别。 3. 空间查询与分析:教程会介绍如何利用ArcGIS Maps SDK中的功能进行空间查询和分析。开发者可以学习如何在地图上执行点选、范围查询等操作,并了解如何获取查询结果并进行进一步的处理。 4. 地图编辑功能:教程还会介绍如何使用ArcGIS Maps SDK中提供的地图编辑功能。开发者可以学习如何添加、删除和编辑地图要素,以及如何保存修改并与地图服务同步。 5. 地理位置感知和路线规划:教程中还会涵盖地理位置感知和路线规划的内容。开发者可以学习如何在游戏中利用ArcGIS地图数据进行位置感知和路径规划,从而实现更加真实和有趣的游戏体验。 通过学习ArcGIS Maps SDK for Unity教程,开发者可以掌握如何将GIS和地图功能融入到Unity游戏中,从而创造出更加丰富多样的游戏世界。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值