Table of Contents

How to create 3d content precisely aligned with real scenes using Mega Studio

This document introduces how to use Mega Studio on Unity to accurately place virtual objects at specific positions in real space, achieving precise alignment with the real world in AR experiences.

Before you begin

  • Refer to the document Is my localization library ready to use? to confirm that the localization library has been correctly created and the Mega Block is added.
  • Prepare the 3d assets to be used in the Unity project.

Precisely place 3d content

By completing the following steps, virtual content can be accurately placed in real space.

Mount 3d content under the Block node

After loading the Block dense model, mount the 3d content under the Block node in the scene as its child node.

Mount model

Precisely adjust model position

Adjust the position and rotation of the 3d content against the dense model in the scene to the desired position and orientation.

[Optional] Precisely adjust model position based on panorama

Click the load button on the right side of the panorama marker in the Inspector panel, and the panorama marker appears in the scene.

Load panorama marker

Display panorama marker

Click any panorama marker to place objects in panorama view. You can switch panoramas by clicking different panorama markers to confirm that the 3d content is accurately positioned from different perspectives.

Panorama editing

[Optional] Precisely adjust model position based on LCC 3D Gaussian Splatting

Note

This section applies to usage scenarios where LCC devices were used for data collection and mapping. Mapping results from other devices do not include LCC 3DGS data.

If you use the LCC 3D Gaussian Splatting (LCC) feature, you can adjust the model position against 3DGS. Refer to Load LCC data and align with Mesh for using LCC data.

What to do if the loaded Block model is not level

Select Block Root in the Hierarchy panel, then adjust Rotation in the Inspector panel until the dense model's orientation appears correct in the Unity editor.

Important

Block Root is the parent node of all Block nodes in the 3D engine scene node tree.

The Transform of Block Root in the world coordinate system does not affect the local coordinate system of the Block, and therefore does not affect the rendering results of 3d content as child nodes of the Block. Its Transform is unrelated to the final display effect.

What to do if the loaded Block model has fragmented or missing parts

During 3D reconstruction, incomplete model coverage during data collection may result in fragmented or missing parts in the generated dense model.

Fragmentation and missing parts

When facing an incomplete model, if the alignment accuracy of 3d content in fragmented/missing areas is not critical, you can place 3d content by clicking panorama markers against panoramic images. Then verify the effect by clicking different nearby panorama marker positions.

Placement via panorama

If high alignment accuracy is required in fragmented/missing areas, you need to supplement or update the map through incremental updates or lossless full updates. Generally, such areas indicate insufficient coverage during data collection. Mega localization performance may be affected within these areas, and merely aligning 3d content in the editor is insufficient.

Next steps