A Blender-based tool that converts 3D models into transparent PNG images for computer vision applications.
- 🎨 Two rendering modes:
- Hardbody: Static object rendering with precise control
- Softbody: Physics-based simulation with dynamic deformations and randomized results
- Import 3D model into Blender
- Automatic model cleanup and optimization
- Generate multiple viewpoints by rotating the object
- Export as high-resolution transparent PNGs
- Camera Setup: Fixed camera position with object rotation for consistent lighting
- Customization: Adjustable parameters for:
- Object position and rotation
- Mesh optimization & correction (decimation, vertex merging)
- Rendering quality and resolution
- Output: High-quality PNG files with alpha channel support
This tool streamlines the creation of transparent object images for computer vision applications by:
- 🤖 Training AI Models: Generate synthetic datasets for machine learning
- 📊 Dataset Creation: Produce consistent, high-quality object views from multiple angles
- 🔄 Scene Integration: Create images that can be easily composited into different backgrounds
-
Hardbody Renderer (
Renderer hardbody/): A precision-focused renderer for generating high-quality 2D renders of 3D models with deterministic output. Learn more -
Softbody Renderer (
Renderer softbody/): A physics-based renderer that creates dynamic 2D renders with realistic deformations and cloth simulations. Learn more
- Image Collection Creator: Collects images from nested folders into a single output folder
- Automatic Image Cropper: Crops images to remove transparent padding
- Compositor: Creates grid composites of rendered images
- Crop and Collect Runner: Combines collection and cropping in one step
View all utilities documentation
Download and install Blender from the official website.
No additional python or installation is needed, the scripts are ment to be run from the 'scripts' tab in Blender.
- Launch the container:
docker run -d \ --name=blender \ --security-opt seccomp=unconfined \ --runtime=nvidia \ -e NVIDIA_VISIBLE_DEVICES=0 \ -e PUID=1007 \ -e PGID=1008 \ -e TZ=Etc/UTC \ -p 3000:3000 \ -v /local/path:/path/in/container \ --restart unless-stopped \ linuxserver/blender:latest
📋 Notes:
To enable GPU acceleration in Blender:
- Open Blender
- Go to Edit > Preferences > System
- Under "Cycles Render Devices", select your GPU
If you're running Blender in Docker on Linux and encounter crashes due to user authentication:
- Wait for the Docker container to be ready
- Execute Blender using the container's default user 'abc':
docker exec -it --user abc blender blender
NVIDIA_VISIBLE_DEVICES=0specifies GPU 0 for use. Change the number to use a different GPU- Adjust
PUIDandPGIDto match your Docker user's ID
-
Connect from your local machine: Create an SSH tunnel:
ssh -L 3000:localhost:3000 user@server-IP -
Open Blender Web:
- In your browser, go to:
http://localhost:3000
To use these scripts, you will need 3D models of the objects you want to render.
- Format: Models must be in the GLB format.
- Source: You can find suitable 3D models on Sketchfab, make sure to check their license.
⚠️ Single Object: Each model should consist of a single object. If your model is made up of multiple objects, you will need to manually join them into one before using the scripts.
- Open Blender and navigate to the 'scripting' tab.
- Click on the open file button and navigate to the script you want to run.
- Configure the parameters of the script to your needs.
- See each script page for more information on each parameter.
- Click on the 'Run Script' button.
During the rendering process, Blender may appear frozen. This is normal behavior - the application will resume once all views have been rendered and saved to the output folder.

