Skip to main content

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


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.1.tar.gz (61.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.1-py3-none-any.whl (69.8 kB view details)

Uploaded Python 3

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

Hashes for vibephysics-0.1.1.tar.gz
Algorithm Hash digest
SHA256 8f2392735b211a8f71ae6cb73e2ce6eb22388f2d3857c9ea00dd52cc905e8198
MD5 c304d0c42e627780259648a515fe742e
BLAKE2b-256 e18a978bf320b127621ce564880e61e7d9047316f8466cbad70fe4de36f8c8cc

See more details on using hashes here.

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

Hashes for vibephysics-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c59b74490403f34c3e2fde1c462543507386e038e0bc29bc1f8c8b2ab8d92042
MD5 30e824497b6fe3ffb88ca457662c97da
BLAKE2b-256 e865e892f49305c739833df02518e367d4cd463d876940db6e05ba78d429a75f

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