SuperMap Hi-Fi 3D SDK for Unreal 插件中白模数据美化流程(一)

前言:随着数字中国建设进入三维时代,实景三维中国、城市信息模型平台全面推进,对三维可视化效果提出了更高的要求。我们的SuperMap Hi-Fi 3D SDK for Unreal 插件(以下简称UE插件)应运而生,打通了三维GIS与游戏引擎的跨界融合,将具有真实地理坐标的室外地理环境融合到游戏引擎,构建一个与真实世界一致的数字孪生地理空间。UE插件自推出以来,备受行业人士的关注,因此,小编整理了UE插件中白模美化与前端材质加载系列文章,将详细分享从白模数据的制作,到UE端的美化,以及导出美化后的材质如何在WebGL客户端中应用。下面本文将详细讲解如何基于建筑矢量面数据,在超图产品体系中,快速批量制作美化效果,并在 UE中展示的技术流程。

UE中白模美化主题文章:

UE中白模数据美化流程(原始数据为矢量面数据)请看:SuperMap Hi-Fi 3D SDK for Unreal 插件中白模数据美化流程(一)

UE中白模数据美化流程(原始数据为模型数据集)请看:SuperMap Hi-Fi 3D SDK for Unreal 插件中白模数据美化流程(二)

UE中导出白模美化后的材质并应用到WebGL客户端请看:SuperMap Hi-Fi 3D SDK for Unreal 插件中模型材质导出与前端加载


1. 矢量面数据属性处理

原始数据是建筑矢量面数据,属性表中需要有建筑高度或楼层数相关的属性,便于后期根据此属性拉伸成模型,示例中使用 Height 中的属性值。另外,在属性表中添加“侧面材质”,“顶面材质”两个文本型属性,用来设置模型对象要被赋予的材质类型。

 我们需要在属性表里面,给每个模型对象设置想要被赋予的材质类型:

(1)设置顶面材质:本示例顶面材质上不做区分,通过更新列的方式,统一设置为“TOPMat”;

(2)设置侧面材质:这里根据建筑矢量面的 Height 属性,将建筑矢量面划分成 11 个区间,不同的高度区间,设置不同的材质类型,并将对应的材质名称“CityBuiMat1”-“CityBuiMat11”填入属性表中;比如,0-6m 的建筑,设置侧面材质为“CityBuiMat1”;6-12m 的建筑,设置侧面材质为“CityBuiMat2”,以此类推。

实现方法:

  • 筛选,再更新列:如果Height属性值不多的话可以直接对Height字段进行筛选,分别选出不同的高度区间,然后通过更新列的方式,统一赋值。

  • 关联查询,再更新列:如果Height属性值较多筛选比较麻烦,可以通过SQL关联查询。查询字段选择Height字段和侧面材质字段,设置查询条件即可看到结果,然后通过更新列的方式,统一赋值。

(3)最终结果如下

2. 生成缓存

由于生成的缓存需要带有法线信息,以保证在 UE 中正确的显示效果,所以生成缓存的桌面版本需要是 11i(2022)及之后的版本。

选择“三维数据-生成缓存-面拉伸生成模型缓存” 功能,在弹出的面板中,选择建筑矢量面数据集。参数设置:指定生成缓存的路径;拉伸高度设置为“Height”;材质设置:首先需要勾选上材质模式,贴图模式选择“真实大小”;贴图字段分别选择“顶面材质”,“侧面材质”;如果使用我们提供的UE材质素材,这里的UV设置为“30”比较合适;设置完成之后,点击生成,得到S3M缓存数据。

3. UE 工程设置 

(1)材质素材准备

我们提供了11种类型的材质素材,用于设置白模的外观,有需要的用户可以百度云下载,用户也可以使用自己的材质素材。

白模材质下载:https://pan.baidu.com/s/1CGvmbdzi-GdEr5BcrNFAPQ?pwd=vc2s

(2)拷贝材质包

新建一个 UE 工程,并安装UE插件,完成之后,将提供的建筑材质素材文件夹拷贝到 UE 工程 Content 文件夹下。

4. 修改材质关联文件 

(1)在我们提供的资源包中,找到AutomaticMatchingMaterials_S3M.json 文件,将其复制到 UE 项目工程-Content-LayerInfo-Map 名称下面的文件夹下;

(2)修改 json 文件通过记事本等工具将复制的 AutomaticMatchingMaterials_S3M.json 文件打开。 "LayerName"后填写用户自己的白模缓存名称 : "Building", "Materials"中,默认给出了材质的关联关系,其中"AssociateMaterial"后面的材质名 称为 UE 中的材质;"OriginalMaterial"后面的材质名称为 S3M 缓存数据的材质名称,是在矢量面数据属性处理中,设置的顶面材质与侧面材质的属性值。

注:如果使用的是我们提供的材质素材,不需要修改"AssociateMaterial"后面的材质名称。 

5. 运行

再次点击运行 UE,插件会自动根据材质的关联关系,将 UE 中的材质效果赋给白模,得到美化后的效果。

 注:UE4和UE5插件均支持白模数据的美化,但导出美化材质应用到前端目前只有UE4插件支持,UE5暂时还没有迁移导出材质的功能。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值