All Projects → drawcall → Three.proton

drawcall / Three.proton

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

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Three.proton

Sky Shader
☀️ WebGL sky and sun shader editor
Stars: ✭ 90 (-72.48%)
Mutual labels:  threejs, particle
Three.phenomenon
⭐️ A tiny wrapper around three.js built for high-performance WebGL experiences.
Stars: ✭ 338 (+3.36%)
Mutual labels:  threejs, particles
Proton
Javascript particle animation library
Stars: ✭ 1,958 (+498.78%)
Mutual labels:  particles, particle
power-mode-input
PowerModeInput can make your text input box more compelling
Stars: ✭ 68 (-79.2%)
Mutual labels:  particles, particle
phaser-particle-editor-plugin
This plugin creates particles based on JSON data generated by Phaser Particle Editor
Stars: ✭ 28 (-91.44%)
Mutual labels:  particles, particle
Partykals
Particles system library for THREE.js
Stars: ✭ 109 (-66.67%)
Mutual labels:  threejs, particles
React Particles Webgl
🔆 A 2D/3D particle library built on React, Three.js and WebGL
Stars: ✭ 330 (+0.92%)
Mutual labels:  threejs, particles
Three Nebula
WebGL based particle system engine for three.js
Stars: ✭ 192 (-41.28%)
Mutual labels:  threejs, particles
Corpuscles.jl
Julia package for particle physics
Stars: ✭ 25 (-92.35%)
Mutual labels:  particles, particle
ParticleLib
Multiversion spigot library supporting all particles and their data (1.8-1.18.2)
Stars: ✭ 156 (-52.29%)
Mutual labels:  particles, particle
Three Dxf
A dxf viewer for the browser using three.js
Stars: ✭ 269 (-17.74%)
Mutual labels:  threejs
Wizardwarz
WebGL Multiplayer game with NodeJS backend
Stars: ✭ 270 (-17.43%)
Mutual labels:  threejs
Moonrider
🌕🏄🏿 Surf the musical road among the stars. Side project built by two people in a few months to demonstrate WebXR.
Stars: ✭ 292 (-10.7%)
Mutual labels:  threejs
Gpu Particles
A GPU Particle System for Unity
Stars: ✭ 313 (-4.28%)
Mutual labels:  particles
Dino3d
🦖 Google Chrome T-Rex Run! in 3D (WebGL experiment)
Stars: ✭ 263 (-19.57%)
Mutual labels:  threejs
Unity Script Collection
A maintained collection of useful & free unity scripts / library's / plugins and extensions
Stars: ✭ 3,640 (+1013.15%)
Mutual labels:  particles
React Three Editable
👀 ✏️ Edit your react-three-fiber scene with a visual editor without giving up control over your code.
Stars: ✭ 261 (-20.18%)
Mutual labels:  threejs
Gl Water2d
2D liquid simulation in WebGL
Stars: ✭ 260 (-20.49%)
Mutual labels:  particles
Three.ik
inverse kinematics for three.js
Stars: ✭ 256 (-21.71%)
Mutual labels:  threejs
Map33.js
A JavaScript library to make 3D maps with three.js.
Stars: ✭ 317 (-3.06%)
Mutual labels:  threejs

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].