3D for Web, Mobile and PC

NPM version GitHub last commit

Physics for Three.js

Easily add Physics (ammo.js) to your Three.js scene. Including Dynamic, Static and Kinematic Bodies, Compound Shapes, Constraints, CCD Motion Clamping and more.

Ammo Physics on Node.js

Run enable3d's Headless Physics Module on your Node.js Server without the use of additional packages like electron, node-canvas, jsdom or puppeteer.

Standalone 3D Framework

Use enable3d to easily get your first 3D HTML5 WebGL Game up and running in minutes. It uses the popular Three.js Engine and ammo.js (bullet3) Physics.

Phaser 3D Extension

Integrate 3D Objects and Physics with few lines of code to your Phaser Games. Use all cool Phaser features you are used to, to create an amazing 3D game.

Open Source and Free

Yep, enable3d is open source and free. You'll find everything on github. Staring the project helps a lot! It shows people like it and will thus motivate me to develop it further :)

Web, Mobile and PC

Written in JavaScript (TypeScript), allows you to easily deploy it to any http server. Use capacitor to deploy your game to Android and iOS and electron to deploy it to Windows and OSX.

Get Started

Examples Documentation

Download

Packages from npm Bundles from github

Become a Supporter

Todos

These features are all on my todo list:

  • Improving the documentation
  • Using Web Workers for Ammo.js Physics
  • Using OffscreenCanvas for rendering
  • Find a nice inputs library to include
  • Maybe add a custom sound wrapper
  • Maybe try to use the AmmoPhysics module for babylon.js games

About

Initially I only wanted to make a 3D extension for Phaser 3. That is where the name enable3d is coming from. But now, this project can do much more. I have extracted the main project into separate modules. So, you can now use enable3d as a Physics Plugin for Three.js, as a Standalone 3D Framework, as an 3D Extension for Phaser or on your Node.js Server.

Phaser Project Template

Simply clone the enable3d-project-template to make a beautiful 3D game with phaser.js, Three.js and ammo.js.