Skip to main content

Physics simulation and annotation tools for Blender

Project description

VibePhysics

VibePhysics Teaser

A lightweight Blender physics simulation framework for creating realistic robot animations, rigid body physics, water dynamics, and comprehensive annotation tools โ€” all running efficiently on CPU.

๐ŸŽฌ Example Results

Result Demo

Robot walking simulation with rigid body physics colliding with balls on the ground, and interact with uneven ground with puddles, and real-time annotation overlay.

๐Ÿ“Š Annotation Tools Demo

Annotation Demo

Comprehensive annotation system featuring bounding boxes, motion trails, and point cloud tracking for computer vision datasets.

โœจ Highlights

  • ๐Ÿš€ No GPU Required โ€“ Runs efficiently on CPU-only machines (MacBook Pro, laptops, standard workstations). GPU accelerates rendering but is not mandatory.
  • ๐Ÿค– Robot Simulation โ€“ Realistic IK-based walking animations with the Open Duck robot
  • ๐Ÿ’ง Water Physics โ€“ Dynamic water surfaces, puddles, ripples, and buoyancy simulation
  • ๐Ÿ“Š Annotation Tools โ€“ Bounding boxes, motion trails, and point cloud tracking for vision datasets
  • ๐ŸŽฏ Production Ready โ€“ Clean API, modular architecture, and extensive examples
  • ๐Ÿ”ง Developer Friendly โ€“ Pure Python, works with Blender as a module (bpy), no GUI needed

Perfect for researchers, animators, and robotics engineers who need physics simulations without expensive GPU hardware.

Requirements

For Running Simulations

  • Python 3.11 (required for bpy compatibility - Python 3.12+ is not supported)
  • bpy (Blender as a Python module)

For Viewing Results (Optional)

  • Blender 5.0 - Free download from blender.org
  • Only needed to view/render the generated .blend files
  • Not required to run simulations

โš ๏ธ Important: This package requires Python 3.11. Python 3.12 and later versions are not compatible with the current version of bpy.

Dependency

We use the Open Duck blender model as demo purpose. We do not own the model. Please refer to the original github repo.

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 annotation demo
sh ./run_annotation.sh

# Run robot simulation
sh ./run_robot.sh

# Run water simulations
sh ./run_water.sh

Visualizing Results

All simulations generate .blend files in the output/ directory. To view and interact with these results:

Download Blender 5.0 (Free & Open Source)

  • ๐Ÿ”— Download Blender
  • Compatible with Windows, macOS (Intel/Apple Silicon), and Linux
  • No installation required for VibePhysics to run โ€“ Blender is only needed to view results
  • GPU accelerates viewport and rendering performance, but CPU-only works fine

Opening Results:

# macOS
open output/robot_waypoint.blend

# Linux
blender output/robot_waypoint.blend

# Windows
start output/robot_waypoint.blend

Once in Blender, press Spacebar to play the animation and view your physics simulation!

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
โ”‚   โ”‚   โ”œโ”€โ”€ robot.py        # Generic robot control
โ”‚   โ”‚   โ”œโ”€โ”€ open_duck.py    # Open Duck robot integration
โ”‚   โ”‚   โ”œโ”€โ”€ trajectory.py   # Waypoint paths
โ”‚   โ”‚   โ””โ”€โ”€ scene.py        # Scene initialization
โ”‚   โ””โ”€โ”€ annotation/         # Visualization tools
โ”‚       โ”œโ”€โ”€ base.py         # Base annotation classes
โ”‚       โ”œโ”€โ”€ 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

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 We have separate license for business/enterprise users.

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vibephysics-0.1.2.tar.gz (62.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vibephysics-0.1.2-py3-none-any.whl (58.4 kB view details)

Uploaded Python 3

File details

Details for the file vibephysics-0.1.2.tar.gz.

File metadata

  • Download URL: vibephysics-0.1.2.tar.gz
  • Upload date:
  • Size: 62.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.7

File hashes

Hashes for vibephysics-0.1.2.tar.gz
Algorithm Hash digest
SHA256 f7717ee4833d3a049af7c1130ac66e74af018ea88a5ddc7cb24b17d1f30e9872
MD5 77a0c9700ff1dbcc5030553701fcfece
BLAKE2b-256 12985a98a7a18d9f152fdcb04c1599a8b1ff7c16b86d47f4ef869c557541a190

See more details on using hashes here.

File details

Details for the file vibephysics-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: vibephysics-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 58.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.7

File hashes

Hashes for vibephysics-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 77f6b24abfa81d432f4deea2beecd6617ae6f6a921ef86b4e4ed37fcab38cfe2
MD5 a8912d68eeaa4b16a0fb0ce98b195903
BLAKE2b-256 e9fa88248c7d33e6da58ae21dfb6048cfdada52ce76043187f362c66a69e8027

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page