news 2026/2/22 14:27:31

SuperMap Hi-Fi 3D SDK for Unreal 使用蓝图接口加载多源数据

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SuperMap Hi-Fi 3D SDK for Unreal 使用蓝图接口加载多源数据

目录

一、前言

二、支持添加的数据类型

三、接口说明

1. 添加Layers的函数节点

2. SuperMap_LayerInfo 结构体节点

四、关卡蓝图示例

1. 本地数据

​2. SuperMap iServer发布的在线服务

3. 公共服务

五、说明

1. 参数填写小tip

2. 官网示例


一、前言

在基于插件蓝图接口进行开发时,由于没有系统的开发文档,如何加载各类数据是一个普遍存在的疑问。本文旨在解决这一问题,详细阐述其操作流程与实现方法。

本文以12.0.1版本的SuperMap Hi-Fi 3D SDK for Unreal产品(以下简称UE插件)为例,在UE5.3项目中使用关卡蓝图方式加载各类数据,仅供参考。

二、支持添加的数据类型

目前UE插件支持加载GIS数据,包括三种方式:加载本地数据、加载在线服务、加载公共服务,详细说明如下:

数据类型

说明

蓝图接口

本地数据

支持的三维瓦片数据类型包括:

三维影像瓦片数据(*sci3d)、三维地形瓦片数据(*.sct)、三维模型瓦片数据(*.scp)

Add Local Layers

支持通过*.udbx/*.udb格式的数据源添加数据集,支持的数据集类型包括:

三维点数据集、三维线数据集、三维面数据集、模型数据集。

在线服务(SuperMap iServer发布)

三维模型缓存 (*.scp) 发布的三维服务

Add url Layers

地形缓存(*.sct)发布的三维服务

影像缓存(*.sci3d)发布的三维服务

其他Rest服务

Map服务

公共服务

SuperMap Terrain

Public Size

STK地形

Add url Layers

天地图

Add WMTS Map

Bing Maps

WMS

WMTS

三、接口说明

1. 添加Layers的函数节点

针对上述三种数据类型,在UE中使用蓝图接口进行数据加载时,涉及到3个蓝图接口:Add Local Layers 函数(本地数据)、Add url Layers 函数(在线服务、STK地形)以及Add WMTS Map 函数(天地图、Bing Maps、WMS、WMTS),参数说明如下:

参数

说明

Target

Super Map Main Actor 对象引用函数

在 “Super Map Main” 类型的 Actor(地图主组件)中

Str Layers

Super Map Layer Info结构

需连接 “SuperMap_LayerInfo” 结构体(配置图层的名称、路径、可见性等信息)

2. SuperMap_LayerInfo结构体节点

参数

说明

M Str Name

图层数据名称

M Str Path

图层数据路径/服务地址

M B Visibility

是否可见

M Str Dataset Name

数据集名称或者xml关键字

M Str Data Name

iserver、本地数据真是名称(在重名情况下,此名称为真实名称,M Str Name为“名称#Num”)

M B Marker Layer

图层是否用于地形纹理蒙版

MN Type

图层类型(需填整数类型值):

0:本地数据

1:SuperMap iServer发布的在线服务

2:公共服务

M N Layer Type

服务类型(需填整数类型值)

一、图层类型为SuperMap iServer发布的在线服务时:

0:三维模型缓存(*.scp)

1:地形缓存(*.sct)

2:影像缓存(*.sci3d)

3:其他Rest服务

4:Map服务

二、图层类型为公共服务时:

0:SuperMap Terrain

1:STK地形

2:天地图

3:Bing Maps

M Str User Name

用户名(服务类型为Bing Maps时填写)

M Str Pass Word

密码(服务类型为Bing Maps时填写)

M lmage Type

图片类型(服务类型为天地图时填写)

OM DPI

DPI(服务类型为天地图时填写)

M Key

密钥(服务类型为天地图时填写)

四、关卡蓝图示例

使用 “Super Map Main” 类(地图主组件),构造一个 “SuperMap_LayerInfo” 结构体(配置图层的名称、路径、可见性等信息),最后执行添加图层的操作即可。完整关卡蓝图如下:

1. 本地数据

以加载三维模型缓存(*.scp)为例,使用到的函数为:Add Local Layers;SuperMap_LayerInfo 结构体需要填写的参数为:M Str Name、M Str Path、M B Visibility、MN Type。

注:M Str Path 需要填写到.scp,反斜杠,例如:E:/OSGB/Config30/Combine.scp

2. SuperMap iServer发布的在线服务

以加载Map地图为例,示例服务:http://www.supermapol.com/realspace/services/map-World/rest/maps/World_Google

使用到的函数为:Add url Layers; SuperMap_LayerInfo 结构体需要填写的参数为:M Str Name、M Str Path、M B Visibility、M Str Data Name、MN Type、M N Layer Type。

3. 公共服务

以加载天地图服务为例,使用到的函数为:Add url Layers; SuperMap_LayerInfo 结构体需要填写的参数为:M Str Name、M B Visibility、MN Type、M N Layer Type、M Str User Name、M lmage Type、OM DPI、M Key。

注:服务地址填在 M Str User Name 中,后续产品更新会在本博客同步。

五、说明

1. 参数填写小tip

由于数据种类比较多,不确定需要填写哪些参数时,可以通过SuperMap编辑器控件加载GIS数据,填写参数后选择大纲找到SuperMap_MainActor,在细节的Super Map Main Actor参数中会增加一个数组,就是添加该类型数据需要填写的参数。

2. 示例demo

添加数据的demo可以参考:内容管理器中All\Plugins\SuperMap内容\BluePrints\SuperMapUI\MainMenuUI\AddLayerUI

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/7 1:53:57

C++ explicit在实际项目中的5个典型应用场景

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 生成一个C项目示例,展示explicit关键字在以下场景的应用:1) 防止数值类型隐式转换 2) 字符串包装类 3) 智能指针构造 4) 单位转换类 5) 状态枚举类。每个场景…

作者头像 李华
网站建设 2026/2/12 16:17:01

小学生编程软件Scratch详细指南!0基础也能入门!

最近,好多家长朋友还有对互联网感兴趣的大学生都在问:现在的孩子太卷了,想让娃接触点少儿编程,但自己是文科生完全不懂代码,怎么办?甚至还有朋友问我,怎么培养孩子的逻辑思维?其实不…

作者头像 李华
网站建设 2026/2/19 2:28:31

AI如何智能推荐最佳DNS服务器?

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个AI驱动的DNS推荐系统,能够根据用户的地理位置、网络延迟、安全需求等因素,智能推荐最优的DNS服务器。系统需要实时监测不同DNS服务器的响应速度、稳…

作者头像 李华
网站建设 2026/2/20 9:38:26

LangChain对比传统开发:MCP协议如何节省80%AI集成时间

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个效率对比演示应用,功能:1. 并排展示传统开发与LangChain开发的相同功能 2. 记录并可视化开发时间对比 3. 测试响应时间和准确率差异 4. 提供成本计算…

作者头像 李华
网站建设 2026/2/7 11:56:27

对比实测:Conda清华源提速300%的配置技巧

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 编写一个性能测试脚本,对比不同Conda源(默认源、清华源、阿里源等)的包下载速度。要求:1. 自动安装测试环境 2. 选择典型Python包进行…

作者头像 李华