Skip to content

SvetimFM/O3Measure-Preview

Repository files navigation

O3Measure - Hand Tracking AR Measuring Tool

IMG_4434

🚧 Preview Release: This is an early preview version of O3Measure. Features are still in development and may change. Please report any issues you encounter!

License: CC BY-NC-ND 4.0

O3Measure is a WebXR application designed for augmented reality (AR) headsets with hand tracking that allows users to measure and define objects in their physical environment using hand tracking. The application provides a user-friendly interface for calibrating walls, defining objects, and placing anchors to create accurate digital representations of physical objects.

Features

  • Wall Calibration: Calibrate a virtual wall to align with a physical wall in your environment.
  • Object Definition: Define objects by creating rectangles on the calibrated wall.
  • Anchor Placement: Place anchors on defined objects to create a more accurate representation of the object's position and orientation.
  • Object Viewing: View a list of all defined objects and their properties.
  • Hand Tracking: Interact with the application using hand gestures.

Requirements

  • WebXR-compatible AR headset (e.g., Meta Quest 3, Quest Pro)
  • Hand tracking support enabled
  • Modern web browser with WebXR support
  • HTTPS connection (required for WebXR)

Setup

Development Setup

To run the O3Measure application locally, you will need Node.js and npm installed on your system.

  1. Install Dependencies:

    npm install
  2. Start the Development Server:

    npm run dev

    The application will be available at https://localhost:5173 (HTTPS is automatically configured).

  3. Access from AR Headset:

    For testing on an AR headset, you have two options:

    Option A: Local Network (Recommended)

    npm run dev-host

    Then access the application using your computer's local IP address from your headset's browser.

    Option B: Public Tunnel Use a tool like ngrok to create a secure tunnel:

    ngrok http 5173

    Then use the provided public URL on your headset.

Usage

IMG_4436 IMG_4434 IMG_4437 IMG_4435

To use the O3Measure application, you will need a WebXR-compatible headset with hand tracking capabilities.

  1. Open the Application:

    Open the public URL provided by ngrok in the browser of your headset.

  2. Enter AR Mode:

    Click the "Start AR" button to enter augmented reality mode.

  3. Calibrate the Wall:

    • The main menu will appear in front of you. Select "Wall Calibration" to begin the calibration process.
    • Follow the on-screen instructions to align the virtual wall with a physical wall in your environment.
  4. Define an Object:

    • Once the wall is calibrated, you can define objects by selecting "Object Definition" from the main menu.
    • Use your hands to draw a rectangle on the calibrated wall to define the object.
  5. Place Anchors:

    • After defining an object, you can place anchors on it to create a more accurate representation of its position and orientation.
    • Select "Anchor Placement" from the main menu and follow the on-screen instructions to place the anchors.
  6. View Objects:

    • You can view a list of all defined objects and their properties by selecting "View Objects" from the main menu.
    • Drag the object into position and add mount points where the targets are

Project Status

This is a preview release (v0.1.0). The application is functional but still under active development. We welcome feedback and bug reports!

Roadmap

  • Controller support (currently hand tracking only)
  • Multi-wall calibration
  • Non-rectangular object shapes
  • Save/load functionality
  • Measurement history
  • Export capabilities

Contributing

Please see our Contributing Guidelines for details. Note that due to the current CC BY-NC-ND 4.0 license, code modifications are restricted in this preview release.

License

This project is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License - see the LICENSE file for details.

Acknowledgments

  • Built with A-Frame WebXR framework
  • Hand tracking powered by WebXR Device API
  • UI components using aframe-slice9-component

About

WebXR AR application for measuring and visualizing object placement on walls using hand tracking

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •