Welcome to the Unity-based IndoorGML Editor. This project provides a lightweight, intuitive, and powerful 3D/2.5D editing environment for creating, modifying, and managing indoor spatial data based on the IndoorGML standard.
- Blueprint Calibration: Load 2D floor plans (PNG, JPG) and auto-scale them to real-world meters.
- Primal Space Editing: Intuitively draw Rooms (CellSpace), Doors, and Boundaries with accurate dimension previews.
- Dual Space & Network Generation: Automatically or manually generate Nodes (States) and Edges (Transitions) for indoor routing.
- Duality Mapping: Seamless 1:1 linking between physical geometry (Primal Space) and logical topology (Dual Space).
- Standard I/O: Flawless Save & Load capabilities strictly following the IndoorGML (XML) standard formats.
- 2D / 3D / 2.5D View Modes: Switch effortlessly between Top-down 2D drafting and immersive 3D/2.5D visualization.
- Unity Editor: Version 6000.3.9f1 LTS or higher (Recommended)
- Render Pipeline: Universal Render Pipeline (URP)
- Clone the repository:
git clone hhttps://github.com/STEMLab/Ineditor-Desktop-v2.0 - Open the project: Launch Unity Hub, click
Open, and select the cloned folder. - Open the Main Scene: Navigate to
Assets/Scenes/and open the main editor scene. - Play: Hit the
Playbutton in the Unity Editor to start creating!
Tab: Toggle between 2D Edit Mode (Top-down view) and 3D View Mode.Delete/Backspace: Delete the currently selected object (CellSpace, Boundary, Node, or Edge).Ctrl + Z/Ctrl + Y: Undo / Redo your last action.Esc: Cancel the current creation mode or deselect the current object.
Left Click: Select an object, or place a point while in a creation mode.Right Click: Finish and close the polygon while creating a Room (CellSpace).Shift + Right Click: Add or Delete an edit point (vertex).- To Add:
Shift + Right Clickon an edge/line of a selected Room or Network Edge. - To Delete:
Shift + Right Clickdirectly on an existing edit point (vertex).
- To Add:
Alt + Left Click & Drag: Pan (move) the blueprint and workspace.Alt + Mouse Wheel: Zoom in and out of the blueprint.
To ensure your indoor spatial data perfectly matches real-world dimensions:
- Click
Load Blueprintand select your floor plan image. - Click
Calibrate Scale. - Click Point A: Select the starting reference point on the blueprint.
- Click Point B: Select the ending reference point.
- Enter Distance: Type the actual real-world distance (in meters) between Point A and Point B, then confirm.
- Done! The blueprint will automatically scale to 1:1 real-world meters and center itself intelligently.
We welcome contributions from the community! This project grows with your support.
- Found a bug? Please open an Issue.
- Have a feature idea? Let's discuss it in the issues section.
- Want to contribute code? Fork the repository, create a feature branch, and submit a Pull Request (PR).
This project is licensed under the MIT License. You are free to use, modify, and distribute this software for both personal and commercial purposes.
- Project Lead: Yongsu Song
- Email: songys@pnu.edu