three-engine
v1.0.36
Published
Engine/framework for three.js
Downloads
13
Maintainers
Readme
What is three-engine?
three-engine let's you create a three.js scene with one line of code.
Compatibility
Complatible with three.js r.148
How to install
npm install three-engine
How to use
import * as THREE from 'three';
import ThreeEngine from 'three-engine';
new ThreeEngine({
callbacks: {
init: threeEngine => {
const box = new THREE.Mesh(new THREE.BoxGeometry(0.5, 0.5, 0.5), new THREE.MeshStandardMaterial);
box.setupClickable();
threeEngine.scene.add(box);
box.onClick = function(){console.log('Clicked')};
box.onHover = function(){console.log('Hovered')};
}
},
setup: {
enableControls: true,
enableTestLights: true,
enableAntialias: true,
DEV_MODE: true
}
});
Example
You can find example in /examples/example.js. To run example:
git clone https://github.com/allala0/three-engine.git
cd three-engine
npm install
npm run example
TODO
- [ ] Switch to Vite
- [ ] Documentation!!!
- [ ] Fix FXAA antialias warning
- [ ] Export all tools in ThreeEngine
- [ ] Axes helper with signed axes
- [ ] Screenshots
- [ ] Thick lines
- [ ] Built in shaders
- [ ] Outline shader
- [ ] Particle system
- [ ] Geometry sprites
- [ ] Physics engine
- [ ] 3D models
- [ ] 3D models animations
- [ ] PerspectiveCamera min width
- [ ] Builtin custom geometries
- [ ] Geometry editor
- [ ] Postprocessing pipeline manager
- [ ] 3D Editor with UI (adding, moving and rotating, scaling objects, lights, cameras etc. with mouse)
- [ ] Material editor
- [ ] Zoom to cursor in controls
- [ ] First person camera
- [ ] Third person camera
- [ ] Keyboard and mouse controls
- [ ] Multiplayer engine (Colyseus)
- [ ] AI
- [ ] Helpers for test lights
- [ ] Custom loading screens
- [ ] Shadow config in gui
- [ ] Keyboard input
- [ ] UI system
- [ ] Sound system
- [ ] Settings template
- [ ] Mobile touch controls (pinch)
- Fiverr
- GitHub