JavaScripting

The definitive source of the best
JavaScript libraries, frameworks, and plugins.


  • ×

    Three.proton

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

    • 🔾21%Overall
    • 494
    • 93 days
    • 🕩47
    • 👥5

    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

    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

    Show All