Skip to content

A cross-platform 3D physics engine

License

Notifications You must be signed in to change notification settings

e7dal/OimoPhysics

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OimoPhysics

A lightweight 3D physics engine.

Demos

  • Press E or Q to change demos
  • Click or tap text to control

Features

  • Written in Haxe
  • Exported as JavaScript (see bin/js/)
    • Public classes and methods will be exposed through windwow.OIMO.
    • e.g. new OIMO.Vec3(1, 2, 3) to create an instance of Vec3 class.
  • Rigid body motion types
    • Dynamic
    • Static
    • Kinematic
  • Fast collision detection with bounding volume hierarchy (BVH)
  • Contacts with friction and restitution
  • Collision geometries
    • Sphere
    • Box
    • Cylinder
    • Cone
    • Capsule
    • Convex hull
  • Joints with springs, limits and motors
    • Spherical (a.k.a. ball and socket, point to point)
    • Revolute (a.k.a. hinge)
    • Cylindrical
    • Prismatic (a.k.a. slider)
    • Universal
    • Ragdoll (a.k.a. cone twist, character)
  • Breakable joints
  • Constraint solvers
    • Direct block MLCP solver
    • Projected Gauss-Seidel solver
  • Sleepings with island splittings
  • Rotation limits
  • Collision event callbacks
  • Collision filterings
  • Collision queries
    • AABB query
    • ray casting
    • convex casting

Compile JavaScript demos in Haxe

  • Use Haxe 4.0.0 or later
  • main class: demo.js.DemoJS
  • Try enabling compiler options if fails
    • -D analyzer
    • -D eval-stack

License

The MIT License


Old Version

  • Written in ActionScript 3.0
  • Supports spheres and boxes as collision shapes
  • Supports various joints (ball and socket, distance, hinge, prismatic, etc...)
  • Fast and stable collision solver
  • Available in old/ directory

About

A cross-platform 3D physics engine

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 45.9%
  • ActionScript 32.2%
  • Haxe 21.9%