This repo was inspired by BlenderProc: https://github.com/DLR-RM/BlenderProc.git
The differences between this project and BlenderProc:
-
Instead of writing config in BlenderProc, you can directly write python script to control the data generation process, which gives you more flexibility
-
Simple but powerful functions, e.g.,
set_camera(),set_projector(),add_ply(),physics_simulation(),render_color()
cd BlenderFunc
## install Blender 2.92
wget https://download.blender.org/release/Blender2.92/blender-2.92.0-linux64.tar.xz
# or use Tsinghua source
# wget https://mirrors.tuna.tsinghua.edu.cn/blender/blender-release/Blender2.92/blender-2.92.0-linux64.tar.xz
tar xvf blender-2.92.0-linux64.tar.xz
ln -s blender-2.92.0-linux64/blender .
## run helloworld.py
./blender --background --python examples/helloworld.py## build docker
./docker/build.sh
## run docker
# help
./docker/run.sh --help
# generate data to specified directory (WARNING: please use absolute path)
./docker/run.sh --output_dir=$(pwd)/xyz_log
# for convenience, you can copy this script to /usr/local/bin
sudo cp ./docker/run.sh /usr/local/bin/synthesize_xyz_log
synthesize_xyz_log --output_dir=$(pwd)/xyz_log- shadow map
- add_simple_texture
- support BW output
- material location, rotation, scale, main color
- save_blend_file for each renderer
- class segmap
- instance segmap
- normal
- pose output
- hdr downloader
- hdr texture
- camera distortion
- projector distortion
- docker image
- ABC dataset download
- ABC dataset process
- calibration pipeline
- support stl model
- upgrade collision checking
- pose sampler return same format
- xyz-log format
- coco format
- documentation
- physics simulation origin wrong
- fail to enable GPU
- set object.name to an existed name