一个 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 创建地图
- 在模式面板 UI 中,单击地图选项卡。
- 选择地图类型。Local
- 在原点位置部分中,您可以使用 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。
- 单击相机选项卡。
- 摄像机位置定义摄像机的初始视角。将参数设置为以下值:
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 密钥的底图。
- 单击底图选项卡并显示面板内容。
- 从预设底图列表中选择影像底图。这是将底图从预设底图设置为影像的结果。
3.转到开发人员仪表板以获取 接口密钥
4.单击“**身份验证**”选项卡以显示面板内。
5.在“API 密钥”部分中设置 **API 密钥**。确保您的 API 密钥位于此屏幕截图中看到的字段中。您可以通过单击 UI 中的获取 API 密钥来查找有关如何获取 API 密钥的信息。
6.切换回底图选项卡后,之前灰显的**底图**图标现在应处于启用状态,表示 API 密钥已成功注册。
在虚幻项目中为多个关卡设置全局API密钥的另一种方法是通过项目设置。
1.2.5 设置高程
在本教程中,您将使用默认高程来定义地形。
- 单击高程选项卡并显示面板内容。
- 确保已选择默认高程。
这是高程面板的结果。
此时,您应该能够看到部分显示在该级别上的地图数据。
双击大纲视图窗口中的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
请按照以下步骤添加每个图层。
- 单击图层选项卡。
- 在添加数据部分中,从类型下拉列表中选择适当的图层类型。
- 在Source字段中输入图层的在线服务 URL 以添加图像切片图层。
- 在名称字段中输入图层名称。
- 单击添加按钮将图层添加到地图。添加图层后,它将显示在“图层”部分中。
- 通过将滑块拖动到特定值来设置不透明度。
这是“图层”面板的结果。
1.2.7 设置天空和光照
- 从工具栏上的快速添加菜单中,选择“光源”>“定向光源”并将其拖动到关卡中以创建“平行光”。
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。
- 在内容菜单中打开下面的位置。
Plugins > ArcGIS Maps SDK for Unreal Engine C++ Classes > ArcGISSamples > Public
- 单击 ArcGIS Pawn 以将其选中。选择后,背景颜色将变为蓝色。
- 右键单击“大纲视图”面板中的DefaultPawn。
- 单击将所选Actor替换为,然后选择ArcGIS Pawn。
您已成功使用模式面板 UI 配置局部场景。
单击工具栏上的播放图标,然后使用 WASD 键四处移动,按住鼠标右键鼠标环顾四周或按住鼠标左键平移。
结束语
欢迎关注我的公众号,懒得取名的GISer,一起交流分享,需要测试数据和软件资源的随时联系。
版权归原作者 你是一个铁憨憨 所有, 如有侵权,请联系我们删除。