Table of Contents

Как создавать 3D-контент с точным выравниванием в реальном мире с помощью Mega Studio

В этом документе объясняется, как использовать Mega Studio в Unity для точного размещения виртуальных объектов в определенном месте физического пространства, обеспечивая их точное совмещение с реальным миром в AR-опыте.

Перед началом

Точное размещение 3D-контента

Вы можете точно разместить виртуальный контент в физическом пространстве, выполнив следующие шаги.

Прикрепление 3D-контента к узлу Block

После загрузки плотной модели блока (Block) прикрепите ваш 3D-контент к узлу Block в сцене, сделав его дочерним объектом.

Прикрепление модели

Точная настройка положения модели

В сцене, ориентируясь на плотную модель, настройте положение и вращение 3D-контента, разместив его в желаемом месте и с нужной ориентацией.

[Опционально] Точная настройка положения модели с помощью панорам

Нажмите кнопку загрузки справа от панорамного маркера на панели Inspector, чтобы в сцене появились панорамные маркеры.

Загрузка панорамных маркеров

Отображение панорамных маркеров

Щелкните любой панорамный маркер, чтобы размещать объекты в режиме панорамы с этой позиции. Вы можете переключаться между разными панорамными маркерами, чтобы убедиться, что положение 3D-контента выглядит точным с разных точек обзора.

Редактирование в панораме

[Опционально] Точная настройка положения модели с помощью LCC 3D Gaussian splatting

Примечание

Этот раздел применим к сценариям использования после сбора данных собственным устройством и завершения построения карты. Результаты построения карты с других устройств не содержат данных LCC 3DGS.

Если вы использовали функцию LCC 3D Gaussian splatting (LCC для собственных помещений), вы можете корректировать положение модели, ориентируясь на 3DGS. Использование данных LCC описано в Загрузка данных LCC и выравнивание с Mesh.

Что делать, если загруженная модель блока (Block) не горизонтальна

В панели Hierarchy выберите Block Root. На панели Inspector измените значение Rotation, пока ориентация плотной модели не станет выглядеть правильно в редакторе Unity.

Важно

Block Root — это родительский узел для всех узлов Block в иерархии сцены 3D-движка.

Transform компонента Block Root в мировой системе координат не влияет на локальную систему координат блока (Block) и, следовательно, не влияет на результат рендеринга 3D-контента, являющегося дочерним по отношению к блоку. Его Transform не связан с итоговым отображением.

Что делать, если в загруженной модели блока (Block) есть фрагментированные или отсутствующие части

В процессе 3D-реконструкции, из-за недостаточного охвата углов обзора при сборе данных, в сгенерированной плотной модели могут появиться фрагментированные или отсутствующие участки.

Фрагментированные/отсутствующие части

Столкнувшись с неполной моделью, если требования к точности выравнивания 3D-контента в области фрагментации/отсутствия невысоки, вы можете разместить 3D-контент, ориентируясь на панорамы, щелкая панорамные маркеры. После этого вы можете проверить результат, переключаясь между разными позициями панорамных маркеров поблизости.

Размещение через панорамы

Если же требования к точности выравнивания 3D-контента в области фрагментации/отсутствия очень высоки, необходимо выполнить дополнительное обновление или полное обновление без потерь карты. Обычно такие области означают, что они не были охвачены в процессе сбора данных, и внутри них эффективность локализации Mega может быть снижена. Просто выровнять 3D-контент в редакторе в этом случае недостаточно.

Дальнейшие шаги