This is a simple Open3D-based GUI for SMPL-family body models. This GUI lets you play with the shape, expression, and pose parameters of SMPL, SMPL-X, MANO, FLAME body models. Features include:
- Interactive editing of shape, expression, pose parameters
 
01_model_editing.mp4
- Visualize body model joints and joint names
 
02_visualize_joints.mp4
- Simple IK solver to match an input pose
 
03_simple_ik.mp4
- Save edited model parameters
 
04_save_params.mp4
- View controls
 
05_viewing.mp4
- Lighting controls
 
06_lighting.mp4
- Material settings
 
07_material.mp4
- Web visualization support
 
Even though there are existing Blender/Unity plugins for these models, our main audience here is researchers who would like to quickly edit/visualize body models without the need to install a graphics software.
Clone the repo and install the requirements (use python3.9).
pip install -r requirements.txtDownload the SMPL, SMPL-X, MANO, FLAME body models:
- SMPL: https://smpl.is.tue.mpg.de/ (v1.1.0)
 - SMPL-X: https://smpl-x.is.tue.mpg.de/ (v1.1)
 - MANO: https://mano.is.tue.mpg.de/
 - FLAME: https://flame.is.tue.mpg.de/
 
Copy downloaded files under data/body_models, this folder should look like:
data
└── body_models
    ├── flame
    │   ├── FLAME_FEMALE.pkl
    │   ├── FLAME_MALE.pkl
    │   ├── FLAME_NEUTRAL.pkl
    │   ├── flame_dynamic_embedding.npy
    │   └── flame_static_embedding.pkl
    ├── mano
    │   ├── MANO_LEFT.pkl
    │   └── MANO_RIGHT.pkl
    ├── smpl
    │   ├── SMPL_FEMALE.pkl
    │   ├── SMPL_MALE.pkl
    │   └── SMPL_NEUTRAL.pkl
    └── smplx
        ├── SMPLX_FEMALE.npz
        ├── SMPLX_MALE.npz
        └── SMPLX_NEUTRAL.npz
Finally, run:
python main.pyIf you want to enable web visualization, run:
python main.py --webFile > Save Model Params lets you save the edited body model parameters. Output is a pickled
python dictionary with below keys:
dict_keys(['betas', 'expression', 'gender', 'body_model', 
           'joints', 'body_pose', 'global_orient'])