Physics simulation and annotation tools for Blender
Project description
VibePhysics
A Blender physics simulation framework for creating realistic robot animations, rigid body physics, water dynamics, and comprehensive annotation (point cloud track, bounding box, motion trails, ...) tools.
Requirements
- Python 3.11 (required for bpy compatibility)
- bpy (Blender as a Python module)
Installation
# Create conda environment with Python 3.11
conda create -n vibephysics python=3.11
conda activate vibephysics
# Install bpy (Blender as Python module)
pip install bpy
# Install vibephysics
pip install vibephysics
# Or install from source
pip install -e .
Quick Start
# Run water simulation
python examples/water/water_float.py --output output/water_float.blend
# Run robot simulation
./run_robot.sh
# Run all simulations
./run_water.sh
Project Structure
vibephysics/
├── src/vibephysics/
│ ├── foundation/ # Core simulation modules
│ │ ├── physics.py # Rigid body world, force fields
│ │ ├── ground.py # Terrain generation
│ │ ├── water.py # Water surfaces, ripples
│ │ ├── objects.py # Floating objects
│ │ ├── materials.py # Shaders (water, mud, etc.)
│ │ ├── lighting.py # Lighting and camera
│ │ ├── open_duck.py # Open Duck robot integration
│ │ ├── trajectory.py # Waypoint paths
│ │ └── scene.py # Scene initialization
│ └── annotation/ # Visualization tools
│ ├── bbox.py # Bounding box annotations
│ ├── motion_trail.py # Motion path visualization
│ ├── point_tracking.py # Point cloud tracking
│ ├── viewport.py # Dual viewport setup
│ └── manager.py # Unified annotation API
├── examples/
│ ├── basics/ # Annotation demos
│ ├── water/ # Water simulations
│ └── robot/ # Robot simulations
├── run_water.sh # Run water examples
├── run_robot.sh # Run robot examples
└── run_annotation.sh # Run annotation demos
Examples
Annotation Demos
# Bounding boxes
python examples/basics/demo_bbox.py
# Motion trails
python examples/basics/demo_motion_trail.py
# Point tracking
python examples/basics/demo_point_tracking.py
# All annotations combined
python examples/basics/demo_all_annotations.py
Robot Simulations
# Robot walking through puddles
python examples/robot/robot_walking_water_puddle.py --output output/duck_walk.blend
# Duck following waypoints
python examples/robot/duck_waypoint_walk.py --waypoint-pattern exploration --output output/duck.blend
Water Simulations
# Floating objects
python examples/water/water_float.py --output output/water_float.blend
# Rising water
python examples/water/water_rise.py --output output/water_rise.blend
# Storm with debris
python examples/water/storm.py --output output/storm.blend
# Water puddles
python examples/water/water_puddles.py --output output/water_puddles.blend
Shell Scripts
# Run all water simulations
./run_water.sh
# Run robot simulations (auto-downloads Open Duck model)
./run_robot.sh
# Run annotation demos
./run_annotation.sh
Common Arguments
| Argument | Description |
|---|---|
--output |
Output .blend file path |
--start-frame |
Animation start frame |
--end-frame |
Animation end frame |
--num-spheres |
Number of floating objects |
--wave-scale |
Wave intensity |
--no-annotations |
Disable annotations |
License
© 2025 MIMI AI LTD, UK. All rights reserved.
Academic & Student Use (Free)
This software is free to use for:
- Students
- Academic research
- Educational purposes
Commercial Use
For business or enterprise use, please contact: tsunyi@mimiaigen.com
Dependency
We use the Open Duck blender model as demo purpose. We do not own the model. Please refer to the original github repo.
Citation
@misc{VibePhysics,
author = {Tsun-Yi Yang},
title = {VibePhysics: Physics and Robotics Simulation in Blender Without GPU Requirements},
month = {December},
year = {2025},
url = {https://github.com/mimiaigen/vibephysics}
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vibephysics-0.1.1.tar.gz.
File metadata
- Download URL: vibephysics-0.1.1.tar.gz
- Upload date:
- Size: 61.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8f2392735b211a8f71ae6cb73e2ce6eb22388f2d3857c9ea00dd52cc905e8198
|
|
| MD5 |
c304d0c42e627780259648a515fe742e
|
|
| BLAKE2b-256 |
e18a978bf320b127621ce564880e61e7d9047316f8466cbad70fe4de36f8c8cc
|
File details
Details for the file vibephysics-0.1.1-py3-none-any.whl.
File metadata
- Download URL: vibephysics-0.1.1-py3-none-any.whl
- Upload date:
- Size: 69.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c59b74490403f34c3e2fde1c462543507386e038e0bc29bc1f8c8b2ab8d92042
|
|
| MD5 |
30e824497b6fe3ffb88ca457662c97da
|
|
| BLAKE2b-256 |
e865e892f49305c739833df02518e367d4cd463d876940db6e05ba78d429a75f
|