Skip to content

Repository files navigation


Oimo.js is a lightweight 3d physics engine for JavaScript.
It's a full javascript conversion of OimoPhysics
Originally created by Saharan for actionscript 3.0.
VersionVersion

Home

Docs

Demo

Usage

Download the minified library and include it in your HTML.
Alternatively, use Node and install the package: npm install oimo

<scriptsrc="js/oimo.min.js"></script>

Create physics world:

world=newOIMO.World({timestep: 1/60,iterations: 8,broadphase: 2,// 1 brute force, 2 sweep and prune, 3 volume treeworldscale: 1,// scale full world random: true,// randomize sampleinfo: false,// calculate statistic or notgravity: [0,-9.8,0]});

Add physics object or joint

varbody=world.add({type:'sphere',// type of shape : sphere, box, cylinder size:[1,1,1],// size of shapepos:[0,0,0],// start position in degreerot:[0,0,90],// start rotation in degreemove:true,// dynamic or statiquedensity: 1,friction: 0.2,restitution: 0.2,belongsTo: 1,// The bits of the collision groups to which the shape belongs.collidesWith: 0xffffffff// The bits of the collision groups with which the shape collides.});varbody=world.add({type:'jointHinge',// type of joint : jointDistance, jointHinge, jointPrisme, jointSlide, jointWheelbody1: "b1",// name or id of attach rigidbodybody2: "b1"// name or id of attach rigidbody});// update worldworld.step();// and copy position and rotation to three meshmyMesh.position.copy(body.getPosition());myMesh.quaternion.copy(body.getQuaternion());

Note

Oimo Physics uses international system units: 0.1 to 10 meters max for dynamic body.
In basic demo with THREE, I scaled all by 100 so objects are between 10 to 1000 in THREE units.

/!\ Shape name change in last version
SphereShape to Sphere, BoxShape to Box, CylinderShape to Cylinder

UPDATE

Is time to switch ES6 worker version with the last OimoPhysics 1.2.2 :)
go to new PHY repro

About

Lightweight 3d physics engine for javascript

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages