How to Align Scans
Option 1: Manual Alignment of Map with Satellite Image in Unity
🎯 Objective
Manually align a 3D map mesh with a satellite image to accurately extract the following values:
Latitude
Longitude
Altitude
Heading (relative to True North)
This is useful for georeferencing Scans in Unity using the MultiSet SDK.
🧰 Requirements
Unity Editor
MultiSet SDK set up in the project
Google Maps (or similar mapping tool)
Image editor (e.g., Photoshop or online tools)
🗺️ Step 1: Identify the Scan Location
Open Google Maps or any detailed mapping service.
Look up your scan location. Example: Long Beach Convention Center, Long Beach, CA.
Ensure you’re using Map View, not Globe View. Globe View may distort tall buildings and can interfere with alignment accuracy.
🖼️ Step 2: Capture a Satellite Image
Capture a square (1:1 aspect ratio) satellite image of the area. Example: 1120 x 1120 pixels
Ensure the map is oriented toward True North (no rotation).
Include the map’s origin point in the image.
📌 This image will be used later to align the mesh in Unity.
🔐 Step 3: Set Up the SDK in Unity
Open your Unity project containing the MultiSet SDK.
Update your SDK credentials.
Locate the MultisetSdkManager GameObject.
Set Map Localization Type to Map.
Enter your Map Code, which can be found at: 🔗 https://developer.multiset.ai/maps
🧱 Step 4: Download and View the Mesh
Select the MapMeshDownloader GameObject in Unity.
In the Inspector Panel, click Download Mesh.
The map mesh will appear in the Unity Scene view.
Texture Mesh added in the scene
🖼️ Step 5: Import and Prepare the Satellite Image
Import the satellite image you saved earlier into Unity’s Assets.
Create a Plane GameObject in the scene.
Apply the satellite image as a Texture to this plane.
📌 Note: The texture may be rotated incorrectly.
Rotate the parent GameObject of the plane by 180°.
Do not scale the mesh. Instead, scale the plane to match the mesh alignment.
🎯 Step 6: Align the Plane with the Mesh
Confirm that the Area Target’s origin in Unity is at (0, 0, 0).
Uniformly scale and rotate the plane until the mesh aligns correctly over the satellite image.
✅ Expected Heading: caculate the Y rotation value of your plane gameobject (i.e : 355.5°)
🧭 Step 7: Switch to Orthographic Top View
In the Scene View, switch to Orthographic mode.
Click the cube icon in the upper right and align the green cone for top-down view.
🖼️ Your view should now resemble the satellite image overlaid by the mesh.
From perspective to orthographic (Top View)
📍 Step 8: Identify Map Origin for GPS Coordinates
Under the MapSpace GameObject, find the Gizmo/Origin object.
Temporarily hide the mesh to see the origin clearly.
Ensure the gizmo is placed over the correct spot on the satellite image.
🌐 Step 9: Retrieve Latitude & Longitude
In Google Maps, right-click on the map origin location. Copy the Latitude and Longitude from the context menu.
✅ Example Output:
Latitude: 12.840064903279117
Longitude: 77.6428387867768
🏔️ Step 10: Get Altitude
Enter the captured latitude and longitude.
Retrieve the altitude value.
✅ Example Output:
Altitude: 933 (meters)
Finally we have all these four values :
Latitude : 12.840064903279117
Longitude : 77.6428387867768
Altitude : 933
Heading : 355.5
Update Map Geocoordinates in Developer Portal
Go to MultiSet Developer Portal -> Maps -> Select the map that you georeferenced and click setting button (3 dots) to update the Geo Coordinates.


Last updated
Was this helpful?