โ† All examples

godot shaders

Energy beam with scrolling core and jitter

Additive energy beam on an open cylinder: a bright core from the facing ratio, noise and pulses scrolling along the length, tapered ends and a slight radial jitter in the vertex stage.

Recorded render of Energy beam with scrolling core and jitter

What this component contains

  • ATTRIBUTION.md
  • LICENSE
  • README.md
  • component.json
  • demo.tscn
  • energy_beam_cylinder.gdshader
  • inspect_shader.py
  • material.tres
  • preview.png
  • test_package.py
  • verification/native.json

How it works

Shader type
spatial
Render modes
unshaded, blend_add, cull_disabled, depth_draw_never, shadows_disabled
Parameters
core_color (vec4 = 1, 0.95, 0.85, 1), beam_color (vec4 = 1, 0.3, 0.15, 1), intensity (float = 2), core_sharpness (float = 3), scroll_speed (float = 3), noise_scale (float = 10), pulse_spacing (float = 0.25), pulse_strength (float = 0.6) and 2 more
Use it on
An open CylinderMesh (or any tube) with V running along its length.
Result
A glowing orange beam with a white core and bright pulses travelling along it.
Renderers
compatibility: compiled and rendered, forward plus: not verified, mobile: not verified
Placement
res://baltor/godot_shaders/energy_beam_cylinder/

Recorded checks

godot 4.7.2.stable.official.ed1daf0bf

  • contract_static
  • engine_run
  • engine_log_clean
  • shader_in_scene
  • capture_written
  • render_not_uniform
  • shader_changes_pixels

Limits to consider

Additive, so it is invisible on white backgrounds. Thin beams far from the camera alias without MSAA. The core is computed per pixel from the facing ratio, so very low radial segment counts show facets.