Как создавать 3D-контент с точным выравниванием в реальном мире с помощью Mega Studio
В этом документе объясняется, как использовать Mega Studio в Unity для точного размещения виртуальных объектов в определенном месте физического пространства, обеспечивая их точное совмещение с реальным миром в AR-опыте.
Перед началом
- Обратитесь к документу Готова ли моя библиотека локализации к использованию?, чтобы убедиться, что библиотека локализации создана правильно и добавлен Mega Block.
- Подготовьте 3D-ассеты, которые вы планируете использовать в проекте Unity.
Точное размещение 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-контент в редакторе в этом случае недостаточно.
Дальнейшие шаги
- Используйте инструмент проверки сессии для симуляции запуска, чтобы дополнительно проверить точность размещения.
- Добавьте точное окклюзионное окружение в сцену, чтобы усилить реалистичность AR.