Splatman - Blender To Nerf & Gaussian Splatting
What is Splatman?
Splatman is the go-to tool for VFX artists, researchers, and graphics enthusiasts looking to easily generate synthetic NeRF and Gaussian Splatting datasets. It allows you to convert your meshes to point clouds and strategically place and render smart cameras for object-centric or open environments. With just a single click, you can export all necessary data for most NeRF & Gaussian Splatting frameworks, all while maintaining full control over your 3D scene and camera settings. Perfect for seamless integration into your creative process!
Neural Radiance Fields & Gaussian Splatting
NeRFs (Neural Radiance Fields) are a cutting-edge technique in 3D graphics and computer vision that uses neural networks to create highly realistic 3D scenes from 2D images by modeling how light is reflected in space or more specifically in closed volumes. They are widely hyped because they enable detailed 3D reconstructions from minimal data, revolutionizing areas like virtual production, AR, and VFX.
Gaussian Splatting is another exciting method gaining attention, which reconstructs 3D scenes by placing Gaussian "Splats" (small blobs) in space. It offers fast rendering and efficient handling of complex scenes, making it popular for dynamic applications in real-time graphics.
Converting 3D Scenes to NeRFs & Gaussian Splats
Preparing a Blender scene for training with Neural Radiance Fields (NeRFs) and Gaussian Splatting follows four essential steps. First, the cameras must be positioned strategically to cover the entire scene, maintaining even distances for optimal capture. Next, the scene’s meshes have to be converted into a dense point cloud and exported. After that, rendering the scene from the selected camera positions is required. Finally, the camera's intrinsic and extrinsic parameters are exported into a transforms.json file to complete the setup. The NeRF or Gaussian Splatting framework can then run on the given points3d.ply, transforms_train.json and transforms_test.json files.
Doing these steps manually is very time consuming and that's why we created Splatman to automate the process and make it as user friendly as possible.
The Addon
Using Splatman is very straight forward. First install the addon via the provided .zip file. Then you can find the addon on the right side panel. Start preparing your scene by selecting an output directory and drawing a bounding box around the main part of the scene. The bounding box should only contain the relevant parts of your scene that you would like to see reconstructed later - so don't encompass any lighting or background planes. If you want to optimize your dataset for InstantNGP or Postshot select this setting before continuing. Next either hit 'Create Cameras Hemisphere / Central Object' or 'Create Cameras Large Scene / Indoor' depending on your scene type. The first method is thought for scenes with a central object such as a character or a statue, the second approach positions cameras in open space such as rooms or nature scenes. The addon will then create as many camera positions as input in 'Frame Count' as keyframes. Feel free to play around with the parameters and repeat the camera placement until you are satisfied. You can also change some keyframes manually to get an even better camera setup.
Then hit 'Create & Export Point Cloud' to convert all meshes, curves etc. in your scene to a point cloud in one step. You can adjust the density with 'Point Cloud Density' and you should aim to get around 100k-1mio points. The point cloud is automatically written to a points3d.ply file in the selected output directory. Next hit 'Prepare Render Settings' to automatically set an appropriate rendering resolution, rendering time, output directory etc. After that render the camera positions as an animation and lastly hit 'Export Camera Files' to write the transforms_train.json and transforms_test.json file. If you want to create a synthetic dataset for research with a certain amount of camera positions as a test set, you can adjust the percentage of cameras with 'Test Percentage'.
After these simple steps you can simply input the directory containing all of the exported data to most NeRF & Gaussian Splatting frameworks and get started!
As this addon is free, we unfortunately can't offer support, but still feel free to message us about bugs you encounter! We worked on this addon for a few months. If you like this addon, feel free to leave a nice review or donate a small amount for our efforts!
Update Log:
30.10.24: Released Version 2.0 with support for Postshot + Bugfixes
Discover our other addons:
Discover more products like this
point cloud neural radiance fields instant ngp 3dgs gaussian splatting converter splatman gaussian nerf 2dgs Export