Skip to content

UnityGaussianCapture is a Unity editor tool designed to capture views from a 3D scene for use in Gaussian Splatting pipelines. It exports data in a format compatible with COLMAP, enabling high-quality 3D reconstruction and neural rendering workflows.

License

Notifications You must be signed in to change notification settings

zephyroal/UnityGaussianCapture

 
 

Repository files navigation

🎥 UnityGaussianCapture

UnityGaussianCapture is a Unity editor tool designed to capture 3D scenes and export data for neural rendering pipelines such as Gaussian Splatting and 4DGS. It provides a streamlined interface for scene capture, sequence recording, and automated training.

Tool Overview


✨ Features

  • 🖼️ Transparent rendering support
  • 🎞️ Sequence recording for 4DGS
  • 🤖 Automatic PostShot training after capture
  • 🧩 MeshCollider generation and refresh for SkinnedMeshRenderers (for point cloud creation)
  • 📦 Export formats: .psht, .ply
  • 🧪 Training profiles: Splat3, MCMC, ADC
  • 🌀 Dome Capture and 🧊 Volume Capture modes

🧰 UI Overview

🎛️ Camera Settings

  • Camera: Select the Unity camera used for capture
  • Resolution: Width and height in pixels
  • PointCloud/View: Number of points per view

⏱️ Capture Runtime

  • Enable Runtime Capture
  • FPS / Duration: Control frame rate and capture length
  • Train On PostShot: Automatically launch training after capture
  • PostShot CLI Path: Path to postshot-cli.exe
  • Training Steps: Number of training iterations

💾 Output Format

  • Choose between .psht and .ply

🧪 Training Profile

  • Select from Splat3, MCMC, or ADC

📁 Output Folder

  • Choose the destination folder for exported data

🌀 Dome Capture

Capture views around a target using a dome configuration:

  • Target: Transform to orbit
  • Number of Rings
  • Views per Ring
  • Radius
  • Height

🧊 Volume Capture

Capture views within a 3D volume grid:

  • Volume Center: X, Y, Z coordinates
  • Volume Size: Dimensions in X, Y, Z
  • Subdivisions: Number of grid divisions along each axis
  • Show Grid: Toggle grid visualization

📦 Installation (via Unity Package Manager)

You can install UnityGaussianCapture directly from GitHub using Unity's Package Manager.


🚀 Usage

  1. Add the Camera Dome Gizmo component to a GameObject.
  2. Add Mesh Collider component to objects you have in your scene.
  3. Configure camera, capture mode, and output settings (If you want to export a sequence, you need to hit play and pause).
  4. Click Capture and Export COLMAP to start the process.
  5. If enabled, PostShot training will launch automatically.
  6. Once the training is done, you can close the terminal window. How To Use

🛠️ Requirements

  • Unity 6.x
  • PostShot (optional, for training)
  • Editor Coroutines Package (com.unity.editorcoroutines)

About

UnityGaussianCapture is a Unity editor tool designed to capture views from a 3D scene for use in Gaussian Splatting pipelines. It exports data in a format compatible with COLMAP, enabling high-quality 3D reconstruction and neural rendering workflows.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 100.0%