Fog and Rain on the Midlands

Started by Upon Infinity, May 02, 2015, 06:06:36 PM

Previous topic - Next topic

Upon Infinity

#30
I still can't reproduce the results from a new file unless I copy and paste from Dune's.  There must be a checkbox or some stupid setting I'm missing somewhere.  I've compared all the settings side by side and still can't find it.

Sometimes, this program really frustrates me. >:(

Oshyan



T-U, does your method not use Through Camera projection? If not, I think you're making it harder on yourself than it needs to be (to find the right spot). Ah, I guess it's because you use an SSS instead of projected image map. I can see why you might do that, but using Through Camera really makes it easier IMO, and once you have the base circular masking image, you can somewhat adjust its size using color adjust, in fact if you made it intentionally a softer gradient (of the circle), you could adjust it quite a bit that way, both in size and in sharpness.

- Oshyan

Oshyan

Upon Infinity, there are a couple of problems with your file. Some that are less obvious and it's understandable you didn't know about them. But the main problem is that the camera you have the image connected to is pointing directly at the horizon. It's making a hole right near the horizon that is just visible over the mountains in my test here with a simple gradient circle image. I'm not sure what you used for a mask image, so it may be less visible for you. If you instead connect your Render Camera to the Image Map Shader camera input, the hole will be higher up and more visible (using the same image). That being said *neither* camera is pointing *at the sun*, which is necessary to get the "sun shining through a hole" thing you're aiming for. So really what you want to do is take Camera 01 and aim it at the sun and continue using it as your camera input to the Image Map Shader.

The greater problem in this particular case is a combination of you using the Mask Shader input on the *Density Shader* for the clouds and using the Coverage Adjust *in the cloud layer*. The Coverage Adjust (in the cloud layer, specifically) is basically an operation that happens after the initial density input is determined, so increasing it takes density up and beyond the density that comes from the Density Shader. In particular, in the case of the "0/blank/no coverage" value that the density shader input would have in a blank area of the noise shader (i.e. between cloud shapes) it essentially puts cloud there because it's adding a blanket amount of density across the whole cloud layer, to all parts of it. That's why you have cloud *everywhere* (which may be what you want) and why masking the *density shader* directly is only getting you an area of "different cloud shading" (less density), rather than an *actual hole*. The hole only exists as a "blank spot" in the *density shader*, once you increase coverage in the cloud layer it adds density/"coverage" in that blank area; it's still less dense (due to the hole) than if you didn't mask at all, but it doesn't work as you'd expect. If you *weren't* increasing Coverage Adjust in the Cloud Layer, then it would make an actual hole with the setup you already have.

So there are a couple of ways to fix this. First, you can try using Coverage Adjust on the Density tab of your Density Fractal node *instead* of Coverage Adjust in the Cloud Layer (which you should set to 0). This is the preferred and recommended approach in many cases because it behaves more as you would expect, if you're just using a single Density Shader and you want it to *control the density of your cloud layer exclusively*. This is the simplest setup, really. However, setting Coverage Adjust in the density shader instead of in the Cloud Layer *will* affect the look of your clouds because it applies the Coverage Adjust in the noise generating Density Shader rather than as a sort of overall effect on top of the density shader (and clamping and other settings can affect this too).

So if you want to keep the look of your clouds exactly as they are, the other option is to use the Final Density Modulator input in the Cloud Layer. *That* input probably does what you are actually expecting the Mask input of your Density Shader to do. Since the cloud layer's other settings operate *on* the Density Shader and can basically change it in potentially dramatic ways, the best way to ensure you're directly affecting the "final" density is to use this input - "Final Density Modulator".

*Phew*. I know that's a lot, but hopefully it's helpful and you've learned a bit more about how things work. I think the key take-away here is not the specifics of how to work with cloud layers, it's that when you're experimenting with a technique someone else suggests and demonstrates, then when you try to adapt it, start out with it being how they describe it and make sure it works *that* way first, and then change settings *one by one* to get the result you want. I think if you had been able to successfully take that approach you would have noticed when the Coverage Adjust changed things and messed up the result and would have found it naturally on your own rather than getting confused, as you understandably did (since this effect is otherwise non-obvious). If you try to adjust other non-essential settings (like Coverage Adjust) to your taste before getting the fundamental effect to work, then you don't really know how those settings might affect what you're trying to achieve (based on someone else's example).

- Oshyan

Upon Infinity

Quote from: Oshyan on May 05, 2015, 04:30:18 PM


The greater problem in this particular case is a combination of you using the Mask Shader input on the *Density Shader* for the clouds and using the Coverage Adjust *in the cloud layer*. The Coverage Adjust (in the cloud layer, specifically) is basically an operation that happens after the initial density input is determined, so increasing it takes density up and beyond the density that comes from the Density Shader. In particular, in the case of the "0/blank/no coverage" value that the density shader input would have in a blank area of the noise shader (i.e. between cloud shapes) it essentially puts cloud there because it's adding a blanket amount of density across the whole cloud layer, to all parts of it. That's why you have cloud *everywhere* (which may be what you want) and why masking the *density shader* directly is only getting you an area of "different cloud shading" (less density), rather than an *actual hole*. The hole only exists as a "blank spot" in the *density shader*, once you increase coverage in the cloud layer it adds density/"coverage" in that blank area; it's still less dense (due to the hole) than if you didn't mask at all, but it doesn't work as you'd expect. If you *weren't* increasing Coverage Adjust in the Cloud Layer, then it would make an actual hole with the setup you already have.

So there are a couple of ways to fix this. First, you can try using Coverage Adjust on the Density tab of your Density Fractal node *instead* of Coverage Adjust in the Cloud Layer (which you should set to 0). This is the preferred and recommended approach in many cases because it behaves more as you would expect, if you're just using a single Density Shader and you want it to *control the density of your cloud layer exclusively*. This is the simplest setup, really. However, setting Coverage Adjust in the density shader instead of in the Cloud Layer *will* affect the look of your clouds because it applies the Coverage Adjust in the noise generating Density Shader rather than as a sort of overall effect on top of the density shader (and clamping and other settings can affect this too).

Yeah, that fixed it.  Thanks!  I was copying and pasting the nodes into a new file and wondering why it only worked when I included the cloud shader itself.  Even then, I still couldn't find the flaw.  And after so many attempts, I was getting exasperated.

And yes, to get the effect I was originally after, I need to point it at the sun.  However, that was only secondary to my understanding the logic of how the operation worked.  After that, applying it the way I want should be easy. 

Upon Infinity

And the last one (at least until I get more inspiration for it) brings back the shadows for the mid-ground objects along with Dune's hole in the cloud trick.

In any event, I've a few dozen more scenes to work on.

bobbystahr

I think that was what Dune was talkin aboot...looks a lot better all round now I think.
something borrowed,
something Blue.
Ring out the Old.
Bring in the New
Bobby Stahr, Paracosmologist

Dune

Right, this is it!

Pointing at the sun is paramount, that's why I had the camera and sun settings in my screendump.

kaedorg


Tangled-Universe

Quote from: Oshyan on May 05, 2015, 03:44:15 PM


T-U, does your method not use Through Camera projection? If not, I think you're making it harder on yourself than it needs to be (to find the right spot). Ah, I guess it's because you use an SSS instead of projected image map. I can see why you might do that, but using Through Camera really makes it easier IMO, and once you have the base circular masking image, you can somewhat adjust its size using color adjust, in fact if you made it intentionally a softer gradient (of the circle), you could adjust it quite a bit that way, both in size and in sharpness.

- Oshyan

Yes/No/Neither.
I use a SSS to 'cut' out a piece of the cloud density shader. So there's no projection in that sense.
It just takes a bit of fiddling to get the SSS in the right position to get the sunlight shine on the right place through the clouds.

Don't let the number of bullets scare anyone off. I could have halved the number, but chose to keep it detailled.
If you do it in an empty scene then it's about 5 minutes work to figure out the X/Z difference of the SSS and the hole in the cloud.