Blender → 4DGS
Blender render to 4D Gaussian Splatting
Turn an animated Blender scene, a Mixamo character or a product animation into a 4D Gaussian Splatting scene that plays in the browser and can be watched from any angle. A free script builds a ring of virtual cameras, renders every camera and writes exact COLMAP calibration; 4dgspl.at does the reconstruction on its GPU server.
Why 4DGS for a Blender animation
- The rendered look travels: Cycles/EEVEE shading, hair, fur and soft materials are baked into the Gaussians; the viewer needs neither the .blend file nor a game engine.
- Free viewpoint on the web: share a link or embed the player on a site; viewers orbit and zoom while the animation plays.
- Files for other tools: one 3DGS PLY per frame for SuperSplat, PlayCanvas and other Gaussian splatting viewers.
1. Prepare the scene
- Metres, model at the origin, feet at z = 0. Keep the motion near the origin and put the important part in the first 4 seconds (the server currently processes 4 seconds at 15 fps).
- World colour pure black (0, 0, 0), no floor. A dark grey world turns into fog from new viewpoints.
- Matte materials (Roughness ≥ 0.6, Specular ≤ 0.2, Metallic 0); soft area lights from all sides; motion blur, depth of field and bloom off; Color Management "Standard".
- Animated human characters: a Mixamo FBX (With Skin, 30 fps) imports directly. Do not redistribute the raw FBX.
2. Build the camera ring and render
The 4dgspl_blender_rig.py script (MIT, beta) adds a 4DGS_Rig collection with cameras cam00 … looking at the subject, renders each camera's animation to camNN.mp4 and writes kalibrasyon/cameras.txt, kalibrasyon/images.txt and kalibrasyon.zip:
curl -O https://4dgspl.at/araclar/4dgspl_blender_rig.py
blender -b scene.blend -P 4dgspl_blender_rig.py -- --kamera 8 --yaricap 3.5 --cikti //teslim --render
| Option | Meaning | Default |
|---|---|---|
--kamera N | Number of cameras, 4–16; with 8+ cameras alternate cameras sit lower and higher | 8 |
--yaricap M | Ring radius in metres; reduce it if the subject fills less than 70 % of the frame height | 3.5 |
--yukseklik M | Camera height in metres | 1.5 |
--hedef M | Height of the point the cameras look at | 1.0 |
--lens MM | Focal length (36 mm sensor width) | 35 |
--cozunurluk WxH | Render resolution | 1920x1080 |
--cikti DIR | Output folder (// = next to the .blend file) | //teslim |
--render | Render MP4 from every camera after building the rig | off |
--mevcut | Keep your own cameras named camNN and only write their calibration | off |
--fon-koru | Leave the world background as it is (default sets it to pure black) | off |
Inside the Blender UI: Scripting → Open → the script → edit the AYARLAR values at the top → Run Script. Calibration uses the OpenCV camera convention (x right, y down, z forward), world → camera, metres; Blender's Z-up world is kept.
3. Validate the delivery
curl -O https://4dgspl.at/araclar/4dgspl_kontrol.py
python3 4dgspl_kontrol.py teslim # exit code 1 on errors, --json for machine-readable output
It checks file names, matching resolution, frame rate and frame count, the calibration and, with ffmpeg installed, the black background.
4. Upload and process
- Create a projectSign in to the dashboard and create a new project.
- UploadDrop
cam00.mp4… into the camera slots andkalibrasyon.zipas calibration. - SubmitPick Fast, High or Highest quality and submit. The project page shows queue position and live progress.
- Use the resultPlay it in the browser, share a link, embed it, or download the per-frame PLY files.
From the command line, or for a coding agent, the upload client and agent key do all of this in one command.
Unreal Engine and Unity
The same rules apply to any renderer: fixed cameras on a ring, synchronized renders named camNN.mp4 and COLMAP calibration from the known camera poses. The capture guide covers Unreal and Unity rigs.
Frequently asked questions
Why not just export the Blender animation as a mesh?
You can, if the target supports animated meshes. 4D Gaussian Splatting is useful when the final look depends on Cycles or EEVEE shading, hair, fur, volumes or semi-transparent materials: the rendered look is baked into the Gaussians and plays in a web browser from any angle without the original scene or a game engine.
Do I need COLMAP for Blender renders?
No. The camera positions and lenses are known exactly, so the script writes COLMAP-format cameras.txt and images.txt directly from the virtual cameras. Running COLMAP on rendered frames is unnecessary and less accurate.
Why a pure black background?
The engine reconstructs everything it sees. In our tests a dark grey world (0.05 linear in Blender, about 25 % grey on screen) was filled with Gaussians and showed up as fog from new viewpoints; pure black separates the subject cleanly.
Can a coding agent do this for me?
Yes. Claude Code, Codex and similar agents can run Blender headless, build or import the model, run the rig script, validate the delivery and upload it with an agent key. See the AI agent guide.
What does it cost?
Every new account starts with 5 free jobs of up to 10 seconds each at Fast quality. After that, credits: 1 credit = 1 second at Fast quality, High ×3, Highest ×8. Credit packs are coming soon. The scripts are free (MIT).