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.

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.


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.

[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.

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.

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
- Further verify placement accuracy through simulated operation using the session verification tool.
- Add accurate environmental occlusion to the scene to enhance AR realism.