【数据融合实战手册·进阶篇】模型融合总出错?先看看这些“对齐”了没!

搭建一个数字孪生场景,可能会用到手工建模、BIM 模型、倾斜模型等不同类型的数据,这些模型来源也可能很杂乱,有外包提供的、甲方拿来的、自己团队制作的。本想着把这些模型准确地融合在一起,然而,实际操作起来就像新手做饭,融合得像"黑暗料理"......

模型格式不支持?

三维模型格式繁多,包括.max、.blend、.c4d 等三维软件格式,以及.fbx、.glb、.obj 等相对通用的三维模型格式。当我们试图把模型加载到同一场景中会发现,许多特定格式因兼容性问题,无法被系统识别。

在 Web 环境与引擎环境中,较为通用的模型格式通常为 fbxglbgltf 格式,这三种格式能够很好地将模型中包含的纹理文件嵌入到模型资产中,防止文件丢失。

模型位置错乱?

当模型文件统一好格式后,我们把模型资产丢入环境中融合时,发现模型位置出现偏移,有的模型在坐标原点,有的模型在较远的地方,根本没法好好凑到一块儿。

之所以会出现这种状况,是由于不同出处的模型在构建时,没统一好 "起跑线" ,也就是模型基点。要想解决这难题,需要给不同来源的模型,设定一个统一的模型基点,让它们都站在同一起跑线上,具体步骤如下:

  • 给每个三维场景提供一张"位置地图",地图上需要标注出基点(可以是任意一个特征位置);
  • 模型参照位置信息进行正确摆放;
  • 结合基点进行模型的中心点重置。(中心点重置步骤可参考往期文章)

模型尺寸不对?

模型基点统一好后,新问题又冒出来了。模型展示时尺寸差距太大,大的模型看着像巨物,小的模型却跟个玩具似的,完全不成比例。

这类问题出现,是因为软件的默认单位不同。例如,Blender 的默认单位是米,C4D 的默认单位是厘米等。所以,不同的三维软件在搭建模型与模型导出前需要统一默认单位,让模型们都能在同一个单位体系下正确展示。

模型朝向乱了?

简单的模型导出环节也会有隐藏的坑点。例如在软件里显示正常的模型,导出后的模型好像失控了一样,与软件中的朝向大相径庭。

这个问题是由于三维软件之间的轴向差异 导致的,仔细观察会发现,常用三维软件的坐标轴朝向都存在差异。因此在模型的导出过程中,需要针对模型最终加载环境,结合每个软件的轴向特点进行轴向调整,避免模型朝向问题。

模型在影像上位置错乱?

在完成模型与模型之间的融合操作后,如何将模型文件与影像进行融合,成了新的挑战。若直接把模型叠加到影像上,模型所处位置和真实位置会出现较大偏差。

Mapmost SDK for WebGL加载效果

想要让模型与影像位置重叠并不难,根据往期文章中提到的经纬度获取办法,结合问题二中的模型基点,即可快速完成模型与影像的融合。

前文指路【从零打造视觉盛宴·基础篇】从"假"到"真"搭建三维场景!

Mapmost SDK for WebGL加载效果

当然模型和影像的融合,不仅是坐标的问题,模型与影像间的重叠压盖问题也十分常见。

Mapmost SDK for UE5显示效果

想要解决这个问题需要结合工具对影像数据进行裁剪,让模型完整展示出来。

以上是笔者梳理的三维模型融合方法。模型融合领域仍然有较多难题,比如道路模型怎么自动贴到倾斜模型上?欢迎在评论区分享交流,一起探寻解决方案。

在三维场景搭建的过程中,我们不断追求真实与效率的平衡,探索可视化呈现的更优解。无论是通过优化模型细节、提升光影效果,还是借助工具快速排查问题,每一步都是为了让虚拟世界更贴近现实,让数据变得更直观、更有价值。

Mapmost SDK for WebGL 不仅支持三维模型融合,还能具备模型渲染、数据分析等能力。帮助开发者轻松实现高质量的三维场景还原。点击此处即可跳转体验~

关注 Mapmost,持续更新 GIS、三维美术、计算机技术干货

Mapmost 是一套以三维地图和时空计算为特色的数字孪生底座平台,包含了空间数据管理工具(Studio)、应用开发工具(SDK)、应用创作工具(Alpha)。平台能力已覆盖城市时空数据的集成、多源数据资源的发布管理,以及数字孪生应用开发工具链,满足企业开发者用户快速搭建数字孪生场景的切实需求,助力实现行业领先。
更多应用场景,点击此处前往Mapmost官网体验!

相关推荐
北桥苏2 天前
如何在 Unity3D 导入 Spine 动画
unity3d
Thomas游戏开发4 天前
Unity3D状态管理器实现指南
前端框架·unity3d·游戏开发
土豆宝9 天前
Unity Visual Scripting(可视化脚本) 自定义节点 踩坑教程
unity3d
Thomas游戏开发10 天前
Unity3D光照层级与动态切换指南
前端框架·unity3d·游戏开发
Thomas游戏开发21 天前
Unity3D 崩溃分析工具的集成与优化
前端框架·unity3d·游戏开发
Thomas游戏开发25 天前
Unity3D网格简化与LOD技术详解
前端框架·unity3d·游戏开发
Thomas_YXQ1 个月前
Unity3D 图形渲染(Graphics & Rendering)详解
开发语言·unity·图形渲染·unity3d·shader
Thomas游戏开发1 个月前
Unity3D 图形渲染(Graphics & Rendering)详解
前端·unity3d·游戏开发
Thomas游戏开发1 个月前
Unity3D 光栅化 vs 光线追踪:技术详解
前端框架·unity3d·游戏开发