创建与实景精确对齐的 3D 内容
这篇文档将介绍如何将虚拟物体准确地摆放在现实空间的某个位置,在 AR 体验中与现实空间精确对齐。
开始之前
- 在场景中成功 启用 Mega 编辑器工具 或 启用 Mega Go 编辑器工具。
- 准备好 Unity 项目中要使用的 3D 资产。
注意
以下内容及工具仅适用于使用 EasyAR Mega 开发 Unity 应用的过程。
如果您在开发小程序,请参考 使用 Unity 编辑器创建并上传标注(小程序开发)。
如果您不在开发 Unity 应用,但希望查看 Mega 建图结果,请参考 Mega 使用指南中的 预览3D 实景网格。
如果您不在开发 Unity 应用,但需要模拟运行查看定位效果,请参考 Mega 使用指南中的 模拟运行效果预览。
本文内容需要工程中已经导入如下 Unity 包:
com.easyar.sensecom.easyar.mega
block 实景数据
在 Mega 开发中,可以使用多种实景数据来辅助摆放 3D 内容:
block 网格模型

全景图(含空间模型遮挡)

注意
部分数据不支持全景图。
LCC 3D 高斯泼溅

注意
LCC 3D 高斯泼溅数据只有在使用其域设备采集并完成建图后的使用场景中才可用。
加载 block 模型
点击 block 数据下的第一个选择框,这会启动 block 编辑器数据的加载过程,加载后可以在 Scene 窗口中看到当前 block 的 mesh。

提示
- block mesh 是与 block 跟踪目标空间对齐的,可以直接在模型上摆放 3D 内容。
- block mesh 会根据相机位置切换 LOD,使用时需保持联网以避免 LOD 切换失败。
- block mesh 存储于工具节点下,仅存在于编辑器模式,不会被打包进最终应用。
将 3D 内容挂载至 block 节点下
加载 block 模型后,将 3D 内容挂载至场景中的 Block 节点下,作为其子节点。

小心
- 3D 物体不能摆放在
EasyAR.Mega.EditorTool节点之下,这个节点仅用于编辑器工具,在部分情况会被自动删除或重建。
重要事项
- 3D 物体必需摆放在 block 节点之下,以确保在运行时虚拟内容的渲染位置是正确的。
精确摆放 3D 内容
通过完成以下步骤可以将虚拟内容准确地摆放在现实空间中。
根据 block 网格模型摆放
在场景中对着 block mesh 调整 3D 内容的位置和旋转,将其调整至期望的位置和朝向。
提示
- 编辑器进入 play 模式后,block mesh 仍然可用,但不会根据相机位置切换 LOD。
- block mesh 存储于工具节点下,仅存在于编辑器模式,不会被打包进最终应用。
[可选] 根据全景图摆放
点击 Panorama Preview Marker 选择框可以显示全景标记。

注意
- 部分数据不支持全景图。
点击任意一个全景标记,就可以在其位置进行全景下的摆放。您可以通过点击不同的全景标记切换全景,以确认 3D 内容在不同视角下的位置都是准确的。

提示
- 使用全景标记摆放内容时,基于 mesh 的空间模型遮挡依旧有效。
- 编辑器进入 play 模式后,该功能仍然可用,但基于 mesh 的空间模型遮挡精度受 LOD 切换禁用影响。
- 全景图标记及全景图数据存储于工具节点下,仅存在于编辑器模式,不会被打包进最终应用。
[可选] 根据 LCC 3D 高斯泼溅摆放
注意
本段内容适用于使用其域设备采集并完成建图后的使用场景。使用其它设备建图结果中不包含 LCC 3DGS 数据。
如果您使用了 LCC 3D 高斯泼溅(其域 LCC)功能,可以对照 3DGS 调整模型位置。LCC 数据的使用可以参考 加载 LCC 数据并与 Mesh 对齐。
实景数据缺陷对内容摆放的影响
如果加载的 Block 模型不水平怎么办
在 Hierarchy 面板中选择需要调整的 block 节点,在 Inspector 面板中修改 Rotation 直到模型的朝向在 Unity 编辑器中看起来正确。
block 节点在世界坐标系下的 Transform 不会影响 block 的本地坐标系,也因此不会影响作为 block 子节点 3D 内容的渲染结果。它的 Transform 和最终的显示效果无关。
小心
不能修改 block 节点下 EasyAR.Mega.EditorTool 的 Transform,否则可能导致编辑器工具无法正常工作或跟踪时内容显示位置错误。
如果加载的 Block 模型有破碎,缺损的部分怎么办
在三维重建过程中,若受采集视角覆盖不全的影响,生成的密模型中可能会出现破碎或缺损的部分。

面对不完整的模型,若破碎/缺损部分的 3D 内容对齐精度要并不高,可以通过点击全景标记对照全景图的方式来摆放 3D 内容。之后可以通过点击附近不同的全景标记位置来验证效果。

若破碎/缺损部分的 3D 内容对齐精度要求非常高,则需要通过补充更新或无损全量更新进行地图的补充或更新。一般来说这样的区域意味着采图过程中没有覆盖,在这样的区域内部 Mega 定位效果会受到影响,仅在编辑器中对齐 3D 内容是不够的。
后续步骤
- 通过使用 session 验证工具模拟运行进一步验证摆放的准确性。
- 为场景添加准确的环境遮挡以增强 AR 的真实感。





