For the complete documentation index, see llms.txt. This page is also available as Markdown.

Find Hint Coordinates

Capture a position on a Map or MapSet mesh and use it as the HintPosition and HintFloorHeight for a MultiSet Localization query.

Overview

The Localization query API accepts a HintPosition that restricts the search scope to a radius around a known point in the map's coordinate system, and a HintFloorHeight that restricts the search to a vertical Y-axis band. Together they significantly improve localization speed and accuracy in large, multi-floor, or visually repetitive spaces.

This page shows two ways to read the coordinates of any point on a Map (or MapSet):

  • MultiSet Developer Portal : pick the point visually in the web 3D viewer.

  • Unity : pick the point on the downloaded mesh inside a sample scene.

In both flows the value you copy is an (x, y, z) position in the map's left-handed (LHS / Unity) coordinate system, measured relative to the map origin. This is exactly the coordinate space the Localization query expects, so the captured value can be used in two ways:

  • The full (x, y, z) position is passed directly as the hintPosition.

  • The Y value of a captured point is the height of that point. By capturing a point on the floor and a point on the ceiling, you read the two Y values that form the hintFloorHeight band.


Method 1 : MultiSet Developer Portal

Use the web portal when you want to grab a hint coordinate quickly without opening Unity.

  1. In the MultiSet web portal, open the 3D viewer using the View Map button.

  2. Wait for the map mesh to finish loading in the scene.

  3. Click the Hint Cursor button in the top-right corner of the viewer.

  4. The viewer now displays the hint position for the current map (relative to the map origin) at the current cursor location. Move the cursor over the mesh to read the position for any point.

  5. Click to copy the displayed cursor position to your clipboard.

MultiSet web portal 3D viewer showing the Hint Cursor button and the live X/Y/Z position with a Click to copy label
The Hint Cursor (top-right) displays the live X / Y / Z position at the cursor. Click the readout to copy it.

Method 2 : Unity

Use Unity when you are already working in the SDK or want to pick the hint point against the same mesh your app uses.

Step 1 — Open a sample scene with a mesh

Open any sample scene that can load a Map Mesh or MapSet Mesh, for example the Localization or Navigation scene.

Step 2 — Enter the map code

Select the LocalizationManager component and enter your mapCode (or mapSetCode).

Step 3 — Download the mesh

Select the MapMeshDownloader component and click Download Mesh in the Inspector. Wait until the Map Mesh or MapSet Mesh appears in the scene.

Step 4 — Add the MapPointInspector component

Make sure a MapPointInspector component is present in the scene. If it is not, create an empty GameObject and add the MapPointInspector script to it.

Assign the downloaded Map Mesh (or MapSet Mesh) object to the Map Mesh field of the MapPointInspector component.

Unity Inspector showing the MapPointInspector component with the Map Mesh field highlighted
Assign the downloaded mesh to the Map Mesh field of the MapPointInspector component.

The MapPointInspector picks a point on the map mesh in Play mode and reads the floor height (Y) plus the full position in map-space coordinates. The copy key defaults to C and can be changed in the component (Copy Pose Key).

Step 5 — Enter Play mode and pick a point

  1. Press Play to enter Play mode in the Editor.

  2. Navigate around the scene using the W, A, S, D keys to reach the location on the map where you want to record the hint position.

  3. A cursor appears on the mesh, with the position details displayed just below it, including the height (Y) and the full X / Y / Z position.

  4. Press C on the keyboard to copy the current position to your clipboard.

Unity Play mode showing the cursor on the map mesh with Height (Y) and the X/Y/Z position and a Press C to copy label
In Play mode the cursor shows the height and full position. Press C to copy.

Using the captured value

As a HintPosition

The copied position is an (x, y, z) coordinate in the map's LHS coordinate system. Pass it directly as the hintPosition in your Localization query:

For full details on how the hint narrows the search and related parameters such as hintRadius, see Pose Prior : HintPosition.

As a HintFloorHeight

The Y value of a captured point is its height in the map's coordinate system, so the same Hint Cursor (portal) or MapPointInspector (Unity) can read the floor and ceiling heights that define a hintFloorHeight band:

  1. Capture a point on the floor of the level you want to localize on. Its Y value is the lower bound (y_min).

  2. Capture a point on the ceiling of the same level (or the top of the space). Its Y value is the upper bound (y_max).

  3. Use the two Y values as the [y_min, y_max] band. Order does not matter: the query accepts either ordering.

If you cannot reach a point on the ceiling, capture only the floor Y value and add the known floor-to-ceiling height of the space to get the upper bound. Add a small buffer (for example ±0.3 m) to both bounds to allow for device height variation and imprecise picking.

You can combine both hints in a single query: pass the full (x, y, z) as hintPosition and the floor/ceiling Y values as hintFloorHeight to get the tightest search scope. For full details on the vertical band and MapSet behavior, see HintFloorHeight.

Last updated

Was this helpful?