Skip to content

three.proton is a magical 3d particle engine using three.js library. It is based on the Proton engine library.

Notifications You must be signed in to change notification settings

drawcall/three.proton

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

three.proton

three.proton is a magical 3d particle engine using three.js. It is based on the Proton Engine library. It inherited Proton's most api.
I think it is the simplest three.js particle engine.Check out examples at https://drawcall.github.io/three.proton/

npm install three three.proton.js

Features

  • Four kinds of renderers

    • MeshRender
    • SpriteRender
    • PointsRender
    • CustomRender
  • Three kinds of emitters which can simulate many different physical effects

    • Emitter
    • BehaviourEmitter
    • FollowEmitter
  • Perfectly compatible with the three.js library.

Demo

Image Image Image Image Image Image Image Image Image

These demos are real, you can click them! They contain the full code, too.

Installation

Import library

import * as THREE from 'three';
import Proton from 'three.proton.js';

Include in html

<script type="text/javascript" src="./js/three.min.js"></script> 
<script type="text/javascript" src="./js/three.proton.min.js"></script> 

Usage

var proton = new Proton();
var emitter = new Proton.Emitter();

//setRate
emitter.rate = new Proton.Rate(new Proton.Span(4, 16), new Proton.Span(.01));

//addInitialize
emitter.addInitialize(new Proton.Position(new Proton.PointZone(0, 0)));
emitter.addInitialize(new Proton.Mass(1));
emitter.addInitialize(new Proton.Radius(6, 12));
emitter.addInitialize(new Proton.Life(3));
emitter.addInitialize(new Proton.V(45, new Proton.Vector3D(0, 1, 0), 180));

//addBehaviour
emitter.addBehaviour(new Proton.Alpha(1, 0));
emitter.addBehaviour(new Proton.Scale(.1, 1.3));

var color1 = new THREE.Color();
var color2 = new THREE.Color();
var colorBehaviour = new Proton.Color(color1, color2);
emitter.addBehaviour(colorBehaviour);
emitter.emit();

//add emitter
proton.addEmitter(emitter);

//add renderer
proton.addRender(new Proton.SpriteRender(scene));

Building three.proton

Node is a dependency, use terminal to install it with with:
git clone git://github.com/drawcall/three.proton.git
Then navigate to the build directory by running:
cd ./build
Finally run the build command:
node build.js

License

Proton is released under the MIT License. http://www.opensource.org/licenses/mit-license

About

three.proton is a magical 3d particle engine using three.js library. It is based on the Proton engine library.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •