Taro
A lightweight 3D game engine for the web.
README

⚛️ Physics - Full integration with a 3D rigid-body physics engine.
🔌 Entity Component System - Write efficent and extendable code.
🔊 Sound - 3D positional sounds built on the Web Audio API.
📜 Scripts - Design game behaviors in JavaScript.
⚡ Performance - Taro is a thin framework on top of three.js.
Documentation
You can find the Taro documentation on the website.
Usage
There are several examples on the website. Here is an example to get started:
- ``` js
- var app = new TARO.App();
- document.body.appendChild( app.domElement );
- var scene = new TARO.Scene();
- app.setScene(scene);
- class CubeController {
- init() {
- // fires when the component is attached to an entity
- this.rotation = this.entity.rotation;
- }
- update() {
- // fires once per frame
- this.rotation.x += 0.01;
- this.rotation.y += 0.01;
- }
- }
- TARO.registerComponent('cubeController', CubeController);
- var cube = new TARO.Entity('cube');
- cube.addComponent('material', { color: 0x00ff00 });
- cube.addComponent('geometry', { type: 'box' });
- cube.addComponent('cubeController');
- var camera = new TARO.Entity('camera');
- camera.position.z = 5;
- camera.addComponent('camera');
- app.start();
- ```
This example will display a spinning cube on the canvas.
Builds
Editor
In addition to the engine, there is a visual editor available to get a taste of Taro.