hello ladies and gents Sina here in this video
i'm going to show you how to put together a single procedural shader that can generate
a variety of volumetric clouds which you can then use to turn your scenes from this to this
all you need to get started is a cube to contain the volumetric clouds and a rather bright light
to illuminate those clouds keep in mind this procedural cloud shader works both into eevee
and cycles render engines with that being said in this video i'll be using evie to get faster
render times to increase the overall quality of the scene we can change the sample count of
the render engine but to increase the quality of the clouds we need to use the volumetric's
properties here we can reduce the tile size and increase the sample count to get better results
additionally to get shadows on the clouds we need to enable the volumetric shadows option
finally let's create a material for the cube
and with that out of the way we can now head over to the shading viewport
to get volumetric clouds we need to create a three dimensional texture
so delete the principled bsdf shader then press shift a to bring up the
add menu and using the search field drop in the volume scatter shader
make sure to connect the output of this shader to the volume input of the material node now to
divide the cube into separate patches of cloud use the add menu again this time to bring in a texture
coordinate node a voronoi texture node a map range node one math node with its function set to power
and another math node set to multiply
the bornoy texture generates a cellular 3d texture that divides the cube into separate puffs of cloud
let's set the vornoik texture to 4d so we can later use the w value to animate the clouds also
make sure to select the smooth f1 function to avoid having hard edges between the patches of
cloud the map range node allows us to remap the output of the voronoi texture so we can change
the size and the distance between each individual puff of cloud i have set the map range function
to stepped linear this enables us to use higher step counts to make the clouds look realistic
or to use lower step counts to give the clouds a more stylized appearance the power function
smooths out the edges of each puff of cloud while the multiply function enables us to control the
density of the cloud this branch of our procedural shader generate separate patches of cloud within
the original cube as you can see at the faces of a cube the cloud suddenly cuts off to fix this
let's smooth out the outer size of a cloud by adding a mapping node a gradient texture node
a map range node and a math node which we then duplicate by pressing shift d
make sure to use the generated texture coordinates the origin of these coordinates
are then relocated to the center of the cloud object using the mapping node as
a result the center of the gradient texture will coincide with the center of the cloud
now if we change the gradient texture from linear to spherical or quadratic spherical
we can make the 3d cloud texture smoothly fade away from its center towards the surface the map
range node allows us to control the density of the cloud as it changes from center to surface
set the first math operation to power so we can control how fast a cloud fades away at the surface
and set the second math note to multiply to make it combine the two branches of our procedural
cloud shader we can increase the density of a cloud by increasing the multiplier of the last
math node our procedural shader now generates separate patches of cloud that fade away
towards the faces of the object but the result doesn't look like proper clouds yet
it looks more as if someone ejaculated in space so to make these questionable
patches look like proper clouds let's add a mix rgb node and a noise texture node
these two nodes distort the output of the texture
coordinate node which will make the edges of each patch of cloud look
fuzzy we can change the intensity of the fuzziness using the slider on the mix rgb node
now to control the overall shape of the clouds let's add a vector curve node
make sure to select the z-axis and then change the curvature to achieve different cloud shapes
this will specifically remap the z coordinate to stretch or flatten the cloud along its height
i highly recommend playing around with this curve as it allows you
to create a variety of interesting shapes for your procedural clouds
another way to control the shape of the cloud is by adding a mapping node
this mapping node allows us to independently scale the voronoi texture along the x
y and z axes with these scale values you can achieve a single puff of cloud or even large
scale cloud formations put together using these parameters you can generate a variety of shapes
and formations for your clouds and with the help of these fields you can even animate the clouds
here are some examples along with the parametric values
if you want to learn how to create this reverse
fracture effect using geometry notes and blender consider watching this next video