Website powered by

Substance Designer Raymarched Clouds

Edit 4/21/2020: As I promised (errr, over a year ago) here's a link to a free download of the sbs and sbsar. You should load the sbsar in Player to see it at a decent framerate, or if you want to see how I did it, open the sbs. Cheers!
https://gum.co/LnMJz

I have been doing lots of graphics coding in work of late, which I'm really enjoying, and along the way I've been learning all about ray-marching volumes, and so I was excited to see if substance could do something as stupid/ waste-of-timey as this because it seemed it had everything needed to create a clouds ray-marcher.

All you need to raymarch is an rgb for worldspace and a camera vector. By incrementally subtracting the camera vector from the world space, you can move through the volume and at each step along the way evaluate what you have hit.

I used Ryan Brucks excellent blog about ray marching to help me with the shading part. I'll put an sbar on gumroad for free if anyone wants to mess about with it, but be warned it's slow in Designer, though respectable in Player! In total, there are a maximum of 64 ray steps nodes, with each node containing 16 nodes for the noise evaluation, and each of those nodes contain 8 3D noises, which means the graph contains 8192 3D noises!

Cloud volume marching in Substance Designer!

Cloud volume marching in Substance Designer!

Cloud volume marching in Substance Designer!

Cloud volume marching in Substance Designer!

The main graph, showing the ray-march nodes. Each node contains a light accumulation graph

The main graph, showing the ray-march nodes. Each node contains a light accumulation graph

The light accumulation graph. There are 16 samples being taken of the noises inside the volume, with each step moving the ray closer towards the light and accumulating the samples.

The light accumulation graph. There are 16 samples being taken of the noises inside the volume, with each step moving the ray closer towards the light and accumulating the samples.

The Noise graph. There are 8 unique 3D noises. 4 fractal noises and 4 Worleys with controls for how they blend

The Noise graph. There are 8 unique 3D noises. 4 fractal noises and 4 Worleys with controls for how they blend

Some examples of the controls. This is the Roughness parameter

Some examples of the controls. This is the Roughness parameter

Contrast parameter

Contrast parameter

This shows how the camera vector slices through the volume with each ray-step

This shows how the camera vector slices through the volume with each ray-step

It runs pretty well in Substance Player, I've added controls for the amount of ray-steps to speed previews up.