I am trying to simulate a beam of light travelling through a cylinder where the power of the light follows a simple sinusoidal pattern along the axis of the cylinder (i.e. the intensity increases and decreases like sin(x)). I have found an image describing roughly what I mean by intensity:

enter image description here

As you can see at the right bend there is an increased intensity in the light streak. How could I achieve this effect in just a straight cylinder, where the brightness goes up and down periodically as you move from left to right.

I am very new to blender and feel a bit overwhelmed on how to do this. Any help would be appreciated.


You could try something like this.


All I did was take a Wave Texture on the vertical (Y) axis, stretched it out a bit and colored it with a ColorRamp to make light and dark (red) areas. I overemphasized them a bit because sometimes subtle differences don't show up well in screenshots.

All I did after that was take another Wave Texture, set to run on the Z axis (Horizontal), scaled it down so it was only one (visible) band, distorted it a little, and then used that "warped gradient ring" as a constraint for the color, so it looks less like it's on a flat surface, and more in a neon tube. I did this by multiplying it with the color in a MixRGB node. I finally ran it through an emission shader, in keeping it being with a light source, and I turned on "bloom" under the render properties tab to make it glow. The end result (against a black background) looks like this:


FYI - there are white patches on both sides, I only shot from one angle. You can control the amount and the size of the patches using any combination of the Mapping Node, the Scale of the Wave Texture, and by moving the "Needles" of the ColorRamp.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.