3

I would like to create a proceedural texture in which "beams" eminate from the center of an object - think of light beams coming out of a point light source. The following node set-up does this perfectly in 2D: enter image description hereenter image description here

However if applied to a sphere you see that the beams are only eminating from the center on the X/Y plane, not the Z axis.

If the "beams" eminated from the center they would appear as spots on the surface of a sphere like in my example.

Please note: I realise I could use voranoi if spots on the surface are my end goal, but I'm intending to use this texture to control the density parameter of a volume shader, so the solution needs to create "beams" radiating from the center of the object outwards.

John
  • 207
  • 1
  • 7

1 Answers1

3

Try this - it's a bit hackish, but it might work for you. Start by breaking a radial gradient into "slices" using a ColorRamp set to constant. Use as many "white bits" as you need.

Beam1

Take the result and multiply a Normalized wave texture (on the Z-axis) over it to chop up the beams vertically. The Normalize (Vector math) node makes the beam "cones" point on an angle.

Beam2

Lastly, multiply a spherical gradient over the whole thing to give falloff to the edges.

Beam3

Alternatively, you could use a Volume Scatter node (instead of an emission), and place a point light right at the center:

Beam4

Christopher Bennett
  • 25,875
  • 2
  • 25
  • 56
  • I was hoping there would be a way to do it by manipulating texture coordinates, but I've not come up with anything better than this approach which does indeed create the effect I'm after. – John Dec 19 '23 at 23:54