Mapping

The Mapping sample scene provides developers with the tools to integrate 3D area scanning capabilities into their applications using Lidar-based iPhones or iPads. This scene leverages the Multiset SDK to create a complete end-to-end experience, from capturing raw data on a client device to processing it in the cloud and making it available in the developer's Multiset account.

Mapping Process States

The mapping process is divided into several states, each with a corresponding status that indicates the current operation.

  • Start: This is the initial state where the user begins the scanning process.

    • Status: Scanning: The device actively captures data from the environment, including RGB images, depth information, and camera poses.

  • Finish: The user stops the scanning process.

    • Status: Compressing: The captured raw data is compressed into a single zip file to prepare it for upload.

  • Draft: The user can save the captured map as a draft to upload later.

  • Upload: The compressed map data is uploaded to the Multiset cloud for processing.

    • Status: Uploading: This status is active while the data is being transferred to the server.

  • Process: The map data is now in the cloud and being processed.

    • Status: Processing: This status indicates that the cloud servers are reconstructing the 3D map from the uploaded data.

  • Active: The map has been successfully processed and is now active and available in the developer's Multiset account for Localization.

Mapping Manager Script

The MappingManager script is the core component that drives the functionality of the Mapping sample scene. It manages the entire lifecycle of the mapping process, from setting up the AR session and handling user input to capturing data, processing it, and uploading it to the Multiset cloud.

High-Level Responsibilities

  • AR Session Management: Initializes and configures the AR session, including the AR camera, occlusion, and mesh managers.

  • Data Capture: Captures and saves mapping data

  • File Management: Organizes the captured data into a structured directory system on the device.

  • UI Interaction: Manages the UI elements for starting and stopping the mapping process, naming the map, and displaying progress.

  • Data Compression: Compresses the captured data for efficient uploading.

  • API Communication: Interacts with the Multiset API to create map entries and get upload URLs.

  • Upload Management: Handles the background upload of the map data to the Multiset cloud and reports progress.

  • Draft Management: Allows users to save maps as drafts and manages the draft list.

Last updated

Was this helpful?