threex.laser is a threex game extension for three.js. It provides a laser beam effect. Excellent to add in your space game! The laser itself is fully procedural with generated texture. The bleeding effect is obtained with additive blending. threex.laser contains a more elaborate laser which dynamically collides with your scene. It is all done for you and it looks great! On impact, there is a point light and an particle sprite for cooler effects :)
- examples/demo.html [view source] : It shows a demo with cooked laser impacting a moving torus.
- examples/laserbeam.html [view source] : It shows a usage of threex.laserbeam.js, it could be the basis for a light sword for example.
- examples/lasercooked.html [view source] : It shows a usage of threex.lasercooked.js. The laser is inside a cube, the cube is filled with toruses positioned at random, and the laser is colliding with other objects.
You can install it via script tag
<script src='threex.laserbeam.js'></script>
<script src='threex.lasercooked.js'></script>
Or you can install with bower, as you wish.
bower install threex.laser
It is a raw laser beam using dynamic textures. Here is to create the laser beam and add it to the scene.
var laserBeam = new THREEx.LaserBeam()
scene.add(laserBeam)
It is a laser beam with dynamic collision.
On impacts, to increase realism, there is sprite and point light.
It depends on THREEx.LaserBeam
so first create it and add it to the scene
var laserBeam = new THREEx.LaserBeam()
scene.add(laserBeam)
Then you create the laserCooked based on it. Don't forget to update it in your render loop.
var laserCooked = new THREEx.LaserCooked(laserBeam)
onRenderFcts.push(function(delta, now){
// every time you render the scene, update laserCooked
laserCooked.update(delta, now)
})
- change in API
- laserBeam is an actual class which export .object3d
- .setSource(vector3)
- .setTarget(vector3)
- rename laser cooked in THREEx.CollidingLaser
- make light vary random for realism
- leave a mark on the wall
- multimaterialobject
- each object for a texture in a empty canvas
- draw in this canvas and update the texture
- laser with pointing leap