Table of Contents

如何使用 Unity 上的 Mega Studio 創建與實景精確對齊的 3D 內容

儘管 xr-frame 沒有提供 3D 編輯器功能,您還是可以藉助 Mega Studio 將虛擬物體準確地擺放在現實空間的某個位置,在 AR 體驗中與現實空間精確對齊。

開始之前

提示

Mega 插件中已經添加了對 com.unity.cloud.gltfast 的依賴,因此您可以直接將模型文件拖入 Unity Assets。

將 3D 內容作為標註的子節點

將導入的模型拖到場景節點,作為標註的子節點。

將模型 Inspector 面板中的 Position 和 Rotation 全部改為 0, Scale 可以根據需要自行調整。

附註

EMA 承載了所有的坐標轉換邏輯。將模型 Position 和 Rotation 設為 0,是為了讓模型的幾何中心與標註點完全重合。所有的位移和旋轉調整,都應該通過操作其父節點(標註節點)來完成。

修改模型Transform

精確調整模型位置

選擇 標註節點 在場景中對著稠密模型調整模型的位置和旋轉。

附註

模型相對於標註的 Position 和 Rotation 必須始終全部為 0 ,否則您無法在 xr-frame 上得到正確的渲染結果。

[可選] 根據全景圖精確調整模型位置

點擊 Inspector 面板中的全景標記右側的加載按鈕,場景中出現全景標記。

加載全景標記

顯示全景標記

點擊任意一個全景標記,就可以在其位置進行全景下的擺放,您可以切換全景的位置以確認模型在不同視角下的位置都是準確的。

全景編輯

[可選] 根據 LCC 3D 高斯潑濺精確調整模型位置

附註

本段內容適用於使用其域設備採集並完成建圖後的使用場景。使用其它設備建圖結果中不包含 LCC 3DGS 數據。

如果您使用了 LCC 3D 高斯潑濺(其域 LCC)功能,可以對照 3DGS 調整模型位置。LCC 數據的使用可以參考 加載 LCC 數據並與 Mesh 對齊

如果加載的 Block 模型不水平怎麼辦

Hierarchy 面板中選擇 Block Root ,在 Inspector 面板中修改 Rotation 直到稠密模型的朝向在 Unity 編輯器中看起來正確。

重要事項

Block Root 是在 3D 引擎場景節點樹上所有 Block 節點的父節點。

Block Root 在世界坐標系下的 Transform 不會影響 Block 的本地坐標系,也因此不會影響標註和標註下模型的渲染結果。它的 Transform 和最終的顯示效果無關

如果加載的 Block 模型有破碎,缺損的部分怎麼辦

在三維重建過程中,若受採集視角覆蓋不全的影響,生成的密模型中可能會出現破碎或缺損的部分。

破碎缺損

面對不完整的模型,若破碎/缺損部分的 3D 內容對齊精度要求並不高,可以通過點擊全景標記對照全景圖的方式來擺放 3D 內容。之後可以通過點擊附近不同的全景標記位置來驗證效果。

通過全景圖擺放

得到擺放結果。

擺放結果

若破碎/缺損部分的 3D 內容對齊精度要求非常高,則需要通過補充更新無損全量更新進行地圖的補充或更新。一般來說這樣的區域意味著採圖過程中沒有覆蓋,在這樣的區域內部 Mega 定位效果會受到影響,僅在編輯器中對齊 3D 內容是不夠的。

後續步驟

相關主題

微信小程序 Mega 插件

Mega Studio