Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 1,000,000+ packages pre-installed, including three-to-cannon with all npm packages installed. Try it out:

require("cannon-es/package.json"); // cannon-es is a peer dependency. require("three/package.json"); // three is a peer dependency. var threeToCannon = require("three-to-cannon")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

three-to-cannon v3.0.2

Convert a THREE.Mesh to a CANNON.Shape.


Latest NPM release Minzipped size License Build Status

Convert a THREE.Mesh to a CANNON.Shape, and optional optimizations with simplified shapes.



npm install --save three-to-cannon


// ES6
import { threeToCannon } from 'three-to-cannon';

// CommonJS
threeToCannon = require('three-to-cannon').threeToCannon;


// Automatic.
const shape = threeToCannon(object3D);

// Bounding box (AABB).
const shape = threeToCannon(object3D, {type: threeToCannon.Type.BOX});

// Bounding sphere.
const shape = threeToCannon(object3D, {type: threeToCannon.Type.SPHERE});

// Cylinder.
const shape = threeToCannon(object3D, {type: threeToCannon.Type.CYLINDER});

// Convex hull.
const shape = threeToCannon(object3D, {type: threeToCannon.Type.HULL});

// Mesh (not recommended).
const shape = threeToCannon(object3D, {type: threeToCannon.Type.MESH});
RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free