Trying to make clouds drift

Started by PabloMack, June 22, 2014, 03:05:16 PM

Previous topic - Next topic

PabloMack

I have spent the past couple of hours trying make clouds in a "Cloud layer v2" to drift. So far I have had no luck. I tried moving the center of the cloud layer but no change. You can't convince me that a cloud mass moving 1km in 5 seconds won't be noticeable but nothing happens other than some light flicker between the first and last frame. I think that the center and radius must only define where clouds appear and doesn't influence the location of any particular cloud that appears in a particular frame.

The other thing I did was to use a "Transform input shader". In 5 seconds I moved the X & Z 1km. I tried putting its output into the "Cloud Later v2" input and then tried putting the "Cloud Layer v2" output into the input of the transform shader with its output into the input of the Planet's Atmoshere Shader input. There is no change from Frame 1 to Frame 150 in anything I've tried. The only thing I've managed to accomplish is to make all of the clouds go away or nearly so with still no difference between frame 1 and frame 150 (except for noticeable light flicker).

I am at a loss at how to make these clouds drift horizontally over time.

Oshyan

I think your problem is due to a fundamental misconception about how cloud shapes are created. The cloud shape is coming from the node that feeds into the Density Shader of the Cloud Node. Moving the Cloud Layer does not change the position of the input noise function (unless you enable Move Textures With Cloud in the Cloud Layer options). Now you can try enabling Move Textures With Cloud if you want to, but the general approach we recommend is to use the Transform Shader *on the cloud shader's density input function*. What that means is you would put the Transform Shader in-between the "Density Fractal 01" and the Cloud Layer's Density Shader input, i.e. the output of Density fractal 01 would go into the Transform Shader, and the output of Transform Shader goes into the Cloud Layer's Density Shader input. Then when you Translate the noise function, the clouds will move because their shape is created by the noise function, and you're moving the noise function itself. I would also suggest a slight translation in Y to give some sense of "evolution" to the clouds which will increase realism for time-lapse type cloud situations.

- Oshyan

PabloMack

Sounds counter-intuitive but it works. I'll have to remember this project as a benchmark learning step so I can go back to it and remember how it was done. Thanks so much.

Oshyan

I agree it can be counter-intuitive depending on your perspective and how you understand the cloud layer to work. Think of it like this: the Cloud Layer node simply provides a specific *type* of shading (volumetric shading in this case) to an input noise function.

This is similar to if you had a Power Fractal terrain with displacement (your input noise function) that you wanted to add color or reflectivity to. You would connect your Surface Layer output to the input of a Reflective Shader or Surface Layer, thus shading the input function with a reflective or colored surface. Water is another example, you can get transparency and reflectivity for an object, terrain, or other surface by using a Water Shader. In all those cases I think it would probably be intuitive to you that you would move the Power Fractal (the source noise function) or object in order to move the actual shapes (displacement) that are being shaded, rather than move the Reflective Shader or Water Shader, for example. That makes sense, right? So the misconception perhaps is that the Cloud Layer acts as an object; it is instead a special type of shading that is being applied to the shapes being generated by another node and you must move the shape-generating node to move the shapes.

I think the Localize options may add confusion to this since they *do* add position parameters to the Cloud Layer, but that localization affects the shading, not the position of the actual cloud shapes (although the Move Textures With Cloud option allows it to work more like it is an object by moving the input noise function with the cloud layer position).

- Oshyan

PabloMack

At least I think I understand this much:

1) The parameters that define the center and radius of the cloud layer control the window through which clouds can appear if "Localise" is checked. If you moved this window you wouldn't move the clouds but you would move the window where they can exist. If "localize" is not checked then the cloud layer is global so Centre, Radius Falloff and Value at radius (the indented parameters) are ignored.

2) The Density fractal is what creates the 3D density function. The Transform input shader can shift it around and the Cumulus layer turns this 3D density into clouds.

Oshyan