A simple Godot tool for loading and visualizing 3D Gaussian Splat point cloud data.
- Load multiple point cloud formats:
- PLY files (Stanford Triangle Format)
- SPLAT files (3D Gaussian Splat format)
- XYZ files (simple point format)
- Interactive 3D visualization
- Mouse controls for camera navigation
- Color support for point clouds
- Asynchronous loading to prevent UI freezing
- Open the project in Godot Engine 4.3+
- Run the project
- Click "Load Splat File" to open a file dialog
- Select a supported point cloud file (.ply, .splat, or .xyz)
- View the loaded point cloud in the 3D viewport
- Left Mouse Button + Drag: Rotate camera around the point cloud
- Mouse Wheel Up/Down: Zoom in/out
- W or ↑: Zoom in
- S or ↓: Zoom out
- R: Reset camera to default position
- If mouse wheel doesn't work, use W/S keys for zooming
- Use R key to reset view if you get lost while navigating
- Camera has minimum zoom distance to prevent going inside the point cloud
Standard PLY format with vertex data. Supports position (x, y, z) and color (r, g, b) data.
Binary format for 3D Gaussian Splats containing:
- Position (3 floats)
- Scale (3 floats)
- Rotation (4 floats - quaternion)
- Color (3 floats)
- Opacity (1 float)
Simple text format with space-separated values:
- Position only:
x y z
- Position with color:
x y z r g b
- Supports both normalized (0-1) and 0-255 color ranges
- Built with Godot 4.3
- Uses ArrayMesh for efficient point cloud rendering
- Implements asynchronous file loading
- Supports large point clouds with progressive loading
main.gd
- Main application controllermain.tscn
- Main scene with UI layoutsplat_loader.gd
- Point cloud file loader classproject.godot
- Godot project configuration
- Godot Engine 4.3 or later
- Point cloud files in supported formats
The project includes example files for testing in the tests
:
example.ply
- PLY format with 225 colored pointsexample.splat
- Binary splat format with position, scale, rotation, and color dataexample.xyz
- Simple XYZ format with position and color data
These files contain a colorful 5×5×5 cube of points plus 100 randomly scattered points with various colors and properties.
Run the included Python script found in the tests
directory to generate fresh example files:
python generate_example_splat.py
This will create new example files in all three supported formats.
- Clone or download this project.
- Open
project.godot
in Godot Engine. - Run the project.
- Try loading the example files first to test the functionality.
- Load your own point cloud files!