news 2026/4/15 15:32:42

SuperMap Hi-Fi 3D SDK for Unreal 读取矢量面进行多区域地形开挖

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SuperMap Hi-Fi 3D SDK for Unreal 读取矢量面进行多区域地形开挖

目录

一、前言

二、创建蓝图接口

1.头文件中声明蓝图接口

2.读取矢量面相关代码

三、关卡蓝图示例


一、前言

目前产品已经支持多区域开挖的能力,在实际开发中如何使用已有的矢量面数据进行多区域开挖呢,比如面数据集、*.shp矢量数据、*.kml矢量数据等,本文将以面数据集为例,详细介绍下如何操作。

本文以12.0.1版本的SuperMap Hi-Fi 3D SDK for Unreal产品(以下简称UE插件)为例,在UE5.3项目中使用,仅供参考。

二、创建蓝图接口

创建一个蓝图接口,实现从矢量面数据集中读取多个面区域,并将其作为开挖区域应用到地形开挖分析中。

1.头文件中声明蓝图接口

在 SuperMap_ExcavationInstance.h 头文件中声明蓝图接口

2.读取矢量面相关代码

在 SuperMap_ExcavationInstance.cpp文件中添加读取矢量面相关代码,实现思路:

(1)解析数据源信息,打开SuperMap数据源文件,查询指定数据集中的三维区域几何数据;

(2)将查询到的几何数据转换为三维区域对象(GeoRegion3D)

(3)将三维区域添加到场景的全局图像中作为挖方区域(仅在开启地形图层模式时执行)

void ASuperMap_ExcavationInstance::Test() { TArray<Geometry*> arrGeometry; FString strName = TEXT("NewRegion3D@D:/DataSource.udbx"); FString leftS, rightS; strName.Split("@", &leftS, &rightS); DataSource dataSource = SuperMapSDK::UnrealEngine::Data::DataSource(); Gamebool result = dataSource.Open(rightS); if (result) { Dataset* pDataset = dataSource.GetDataset(leftS); if (pDataset != NULL) { arrGeometry = pDataset->Query(); } dataSource.Close(); } for (int i = 0; i < arrGeometry.Num(); i++) { GeoRegion3D* pGeoRegion3D = (GeoRegion3D*)arrGeometry[i]; if (m_bIsTerrainLayer) { FString strTag = FString::Printf(TEXT("TerrainExcavation_%d"), i); GlobalImage* pGlobalImage = RealspaceView::GetSingleton()->GetSceneControl()->GetScene()->GetGlobalImage(); pGlobalImage->AddExcavationRegion(pGeoRegion3D, strTag); } } }

三、关卡蓝图示例

BuildExcavation 函数:

参数说明
Target

Super Map Excavation Instance 对象引用函数

Excavation是否开挖

SelectLayer 函数:

参数说明
Target

Super Map Excavation Instance 对象引用函数

str Layer Name开挖图层名
Is Select

是否选择图层

开挖效果:

如需添加开挖贴图可以添加贴图蓝图接口:SetSideTexture(侧面纹理)、SetTopTexture(底面纹理)。

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

紧急通知:Dify即将调整Excel格式支持策略,现在了解还不晚

第一章&#xff1a;Dify Excel 格式支持现状全解析Dify 作为一款面向开发者与业务人员的低代码 AI 应用开发平台&#xff0c;对数据导入功能提出了较高的兼容性要求。Excel 作为企业中最常用的数据交换格式之一&#xff0c;其支持程度直接影响用户的数据接入效率。目前 Dify 支…

作者头像 李华
网站建设 2026/4/16 12:27:46

撰写案例研究:展示某公司使用VibeThinker降本增效成果

VibeThinker-1.5B&#xff1a;小模型如何撬动大效益&#xff1f; 在教育科技公司“智码未来”的技术会议室里&#xff0c;CTO李岩正盯着屏幕上跳动的性能监控图表。他们刚上线的新版自动判题系统&#xff0c;在高峰期每秒处理超过300道算法题请求&#xff0c;响应延迟稳定在1.4…

作者头像 李华
网站建设 2026/4/16 12:22:34

Dify中Next.js服务端渲染错误应对策略(SSR异常深度剖析)

第一章&#xff1a;Dify中Next.js服务端渲染错误应对策略&#xff08;SSR异常深度剖析&#xff09;在Dify平台集成Next.js应用时&#xff0c;服务端渲染&#xff08;SSR&#xff09;异常是常见的技术挑战。由于SSR在服务器端执行组件渲染&#xff0c;涉及上下文环境、依赖加载和…

作者头像 李华
网站建设 2026/4/7 8:57:25

Dify文档路径配置避坑指南:资深工程师不愿透露的10年经验

第一章&#xff1a;Dify文档保存路径的核心机制Dify 作为一个开源的 LLM 应用开发平台&#xff0c;其文档与配置文件的持久化机制依赖于清晰定义的路径管理策略。系统通过环境变量与默认规则相结合的方式&#xff0c;确保文档在不同部署环境下的一致性与可追溯性。配置驱动的存…

作者头像 李华
网站建设 2026/4/16 14:00:10

汇编语言全接触-72.Win32程序的命令行参数

在 Dos 汇编中&#xff0c;psp 段的 0080H 开始的位置就是命令行参数&#xff0c;在 Win32汇编中&#xff0c;我们获得命令行参数的方法是使用 Api - GetCommandLine&#xff0c;它没有输入参数&#xff0c;返回的是指向命令行的指针&#xff0c;返回的字符串中&#xff0c;包含…

作者头像 李华