Lasers in geometry nodes - Blender project
A full laser system to emit lights and let them bounce everywhere. Lots of features inside this geometry nodes setup, all made with Blender v. 4.5.0, enjoy it all!
If you have any issues please comment on my YouTube channel or join on my Discord server (link in all my video tutorial description). This to avoid bad reviews caused by simple misunderstanding about the using of the content or because the Blender's team sometime changes the core code between versions of Blender breaking some geometry nodes setup badly.
Lots of type of emissions, distributions, behaviors and other features described below.
Features:
- Emit: General switch to enable or disable the emitting of the lasers.
- Source: You can choose different origin emission, from a single origin point (default on the Z local axis of the object) or the elements of the geometry like vertices, edges or faces (the normal). Using the Origin of the object you will be able to change the direction directly rotating the object itself.
-
Distribution: This parameter will appear only if the Source is Origin or Faces and allows you to choose different distributions of emission depending on the chosen Source. In detail,
- if the Source is Origin you can choose between
- Random: The emission of the lasers will start from the origin of the object along the Z local axis (or normal of the elements of the geometry) with a spreading in 2d & 3d covering a random range of values in between.
- Curve shape: The emission will start from the origin of the object following the shape of the chosen curve drawing the lasers in the air or on the hit surfaces.
- if the Source is Faces you can choose between
- On Position: The emission will start from the exact position of all the faces of the mesh
- Random: The emission will start from the mesh in a random distribution all across the surface thanks to the Density parameter.
- if the Source is Origin you can choose between
- Ray count: The number of the ray to emit from the origin point of the object or from each element of the mesh.
- Ray length: The maximum length of a starting ray or a reflected ray if it doesn't hit anything anymore. In other words, if the ray hits something, the final position will be on the hit surface otherwise it will end along the last direction of reflection at the distance defined by this parameter.
-
Spread 2D (°): Value from 0° to 180° to spread the distribution of the emission of the lasers in a 2d plane reference (ignored if used the Curve shape Distribution).
If used with elements of the geometry, each element will contain the number of the defined rays with this spreading for each one. -
Spread 3D (°): Value from 0° to 90° to increase the distribution of the lasers not only in the 2d plane but also in the 3d space allowing you to have, with the maximum value of both spread parameters, an entire sphere of emission, here some examples:
Spread 2D = 90° and Spread 3D = 90° => dome distribution
Spread 2D = 180° and Spread 3D = 90° => sphere distribution
Spread 2D = 90° and Spread 3D = 0° => fan distribution - Rotation: Degrees of custom rotation on the normal of the emission for all the emitted lasers.
- Colliders: Collection of surfaces to collide with the lasers.
- Bounces: number of bounces you want to have while the interaction and the hitting between the lasers and the collection of the objects. If you set 0 bounces you will have only the emission and possibly the hitting on the surfaces of the selected collection of objects.
- Show source: Enable to have the input geometry of the workflow with the result of the lasers.
-
Mesh (toggle panel): It allows you to see the lasers defining some parameters described below:
- Ray radius: The radius of each laser.
- Resolution: the resolution of the profile curve used to convert the curves of the lasers in meshes.
- Material: Material to assign to the meshes of the lasers.
-
Animation (toggle panel): Little panel to play and shoot lasers.
-
Type: The type of the emission (trimming) of the lasers:
- Factor: With this value you'll be able to have the Factor slider to increase the length of all the lasers using a proportional value from 0 to 1 (equivalent of 0% and 100%).
- Length: More realistic technique where you'll be able to use the Length numerical parameter to increase the length starting from 0 up to the length you want. It's perfect to study the physical behavior of real lasers.
-
Type: The type of the emission (trimming) of the lasers:
Royalty Free License
This license grants you, the purchaser, the ability to make use of the purchased product for personal, educational, and or commercial purposes as long as those purposes do not violate any of the following:
- You may not resell, redistribute, or repackage the purchased product for free or commercially without explicit permission from the original creator,
- You may not use the purchased product in a logo, watermark, or trademark of any kind with the exception of: shader, material, and texture products are exempt as the product is used in a secondary manner.