Caustic Effect Using Cell Noise: Pool Scene

 

This more advanced tutorial demonstrates how to use the cell_noise shader (noise1) to create a caustic pool water effect. It also covers how to create chromatic aberrations with caustics. Finally, we will render the caustics to an image sequence for rendering optimization. Many thanks to Slava Sych for this tutorial.

 

The scene files can be downloaded here.

 

Scene

  • First of all, create a plane, a spot_light, and a camera. Rotate the camera and the spot_light to 90 degrees so that they are pointing down on the plane.
  • Increase the exposure value of the spot_light to around 21 and set the roundness to 0.

Scene layout and view from camera

Gobo

  • Add a gobo filter to the spot_light
  • Create a cell_noise shader and connect it to the slide_map of the gobo filter. Rename the cell_noise shader to 'CellNoise1' (we will create a second cell_noise shader later on).
  • Change the filter_mode to mix in the gobo. This will average the results equally between the spot_light and the slide_map.
  • Set density in the gobo to 0.585. This will let more light through.

Cell Noise1

  • Uncheck additive.
  • Increase the number of octaves to 8.
  • Decrease lacunarity to 1.023.
  • Decrease amplitude to 0.819.
  • Increase the scale to 13, 17, 0 for the XYZ vectors.
  • Change coord_space to UV.
  • To create an animation set keyframes on the time attribute.

CellNoise1 settings

Cell Noise2

  • Create another cell_noise shader and rename it to CellNoise2 and connect the Out Color R to the randomness attribute of CellNoise1.
  • Increase the number of octaves to 3.
  • Increase the scale to 19.5, 25.5, 0 for the XYZ vectors.
  • Change coord_space to UV.
  • To create an animation set keyframes on the Time attribute.

Range

  • Create a range shader and connect it to the gobo filter. Connect CellNoise1 to the input of the range node, and increase the exposure of the spot_light to 26.
  • Set the output_min to 1.
  • Set the output_max set to 0.
  • Enable smoothstep.
  • Increase the contrast to 2.278.
  • Change the bias to 0.822.
  • Change the gain to 0.2.

 

CellNoise1 with range shader

Chromatic Aberration

UVTransform

Now its time to create a chromatic aberration effecting using the CellNoise1 shader.

Create two UvTransform nodes. 

  • In UvTransform1 set the offset to -0.001 and -0.001. 
  • In UvTransform2 set the offset to 0.001 and 0.001.

Shuffle

  • Connect a shuffle shader to the gobo filter.
  • Connect the Range Out Color R to Color G in the shuffle.
  • Connect UvTransform1 Out Color R to Color B in the shuffle.
  • Connect UvTransform2 Out Color R to Color R in the shuffle.

 

Here are the results (exposure has been reduced)

 

Final shader network

 

Optimization

To optimize the rendering process, you could try rendering out the image sequence and then opening that sequence in the gobo of another spot_light.

Select images to view animations

 

 

  • No labels