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


Folders and files

Last commit message
Last commit date

Latest commit



29 Commits

Repository files navigation


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

npm install three three.proton.js


  • 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.


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


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> 


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

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

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));

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);

//add 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://
Then navigate to the build directory by running:
cd ./build
Finally run the build command:
node build.js


Proton is released under the MIT License.