Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/enable3d/enable3d

🕹ī¸ Standalone 3D Framework / Physics for three.js (using ammo.js) / 3D extension for Phaser 3
https://github.com/enable3d/enable3d

3d ammojs enable3d game-framework phaser threejs webgl

Last synced: 4 days ago
JSON representation

🕹ī¸ Standalone 3D Framework / Physics for three.js (using ammo.js) / 3D extension for Phaser 3

Awesome Lists containing this project

README

        


enable3d logo


3D for Web, Mobile and PC



Written in TypeScript, uses three.js and ammo.js, brings physics to your three.js project and the third dimension to your Phaser 3 game.


NPM version

GitHub Workflow Status
Three
GitHub last commit



Website â€ĸ
Packages â€ĸ
License

## Website

Visit the [enable3d website](https://enable3d.io) for documentation and examples.

## Dependencies

Enable3d now depends on the dependencies below.

```json
{
"@types/matter-js": "0.17.6",
"@types/three": "0.161.2",
"matter-js": "0.17.1",
"phaser": "^3.55.2",
"poly-decomp": "^0.3.0",
"three": "0.161.0",
"three-csg-ts": "^3.1.10"
}
```

(But it also works on latest Phaser versions like 3.60 & 3.70)

## Useful Packages

Some useful packages are now available on npm:

| Package | Description |
| ------------------------------------------------------------ | ------------------------------------------------------------------------- |
| [`audio`](https://www.npmjs.com/package/@yandeu/audio) | đŸŽĩ Audio library for the Web Audio API. |
| [`keyboard`](https://www.npmjs.com/package/@yandeu/keyboard) | ⌨ī¸ Handling of keyboard events. |
| [`tap`](https://www.npmjs.com/package/@yandeu/tap) | 🖱ī¸ Handling of user interactions such as mouse, touch and pointer events. |

## Packages

This project is split into many separate npm packages. To better understand the structure and relationships between the packages, see the diagram.

![creately-diagram](/readme/creately-diagram.png)

- **enable3d** A standalone 3D Framework on top of three-graphics.
- **@enable3d/phaser-extension** Allows to integrate the three-graphics package into your Phaser 3 Games.
- **@enable3d/ammo-physics** The core Physics package. Wraps ammo.js physics.
- **@enable3d/ammo-on-nodejs** Enables you to run ammo.js on your node.js server.
- **@enable3d/three-graphics** The core 3D Objects package. A beautiful API for many three.js elements.
- **@enable3d/three-wrapper** Wraps the three.js library and some of its examples in one package.
- **@enable3d/common** Some common code used by almost every package.

## Development Server

Are you used to use `Live Server`? Check out `Five Server` instead!

- [Five Server on npm](https://www.npmjs.com/package/five-server)
- [Five Server for VSCode](https://marketplace.visualstudio.com/items?itemName=yandeu.five-server)

## Multiplayer Game


geckos.io logo

Want to make a Real-Time Multiplayer Game? Check out [geckos.io](http://geckos.io).

## License

Licensed under LGPL-3.0
Copyright (c) 2022, [Yannick Deubel](https://github.com/yandeu)
Please have a look at the [LICENSE](LICENSE) for more details.