A non-spherical planet needs a non-spherical atmo

Started by ajcgi, July 04, 2018, 07:37:33 AM

Previous topic - Next topic

ajcgi

Hello everyone. I'm working on a planet that isn't spherical in reality. It's squished. Ok it's Saturn. It'll be seen from lots of different distances and angles, but as it's for a science show I'm trying to find a way of recreating the 10% difference in radius between equator and polar measurements. Obviously I could scale my render before adding rings on and somehow make that work for every shot, plus there will be other assets where you'll never see the squashed nature of the planet so there's little point in adding it...

BUT! Can the squash be done in TG if one wanted to? In the attached screenshot you'll see my idea. I've got a sphere in the scene the same size as a default planet, but squished to around 0.9 of its height in y. Is there a way of forcing this atmosphere, clouds and so on to abide by the curvature of the new ovoid and not the default sphere? If you look in the image, you'll see the problem I'd get if I try to be accurate.

For now I'll work on this cloud setup as a spherical thing and go from there.


ajcgi

Bosh! Thirty minutes of fiddling just now and I'd figured it out in principle. Using the alititude offset option and some pretty high depth settings I've got the start of something.
Figured I'd attach a jpeg of where I'm at so you can all see how it's achieved.

"Squish Northern Hemisphere" and "Squish Southern Hemisphere" are distribution shaders to push the Northern and Southern hemispheres towards the equator. Only thing is I started with 0,0,0 at the top of the planet, so I'll need to rearrange my scene a little. Still, the principle works on clouds... atmospheres, not so much as their altitude can't be modulated, but a fake atmo could easily be made as a cloud.

Ignore the node saying Transform Planet Back Up. That's not doing particularly much right now. ;)


ajcgi

Incidentally, to shift the planet back up I've subtracted the displacement distance away from the planet centre position. No distortions, bar the ones I want. ;)

Oshyan

Yes, the atmosphere can't really be distorted or adjusted in this way currently (I'd personally love to see an atmosphere shader that could take an object as input and conform to its surface). But you can fake it with clouds as you discovered. And fortunately, since Saturn is pretty much all (apparently) clouds, it should work well enough. If you needed an Earth-like atmosphere done this way it'd be harder to pull off...

- Oshyan

ajcgi

Some of the atmospheric stuff can be faked in comp but the subtle stuff like shadows from clouds and surfaces is obviously tougher without the atmo being a huge cloud layer itself. Tricky indeed.
I've already hit a few issues with this method, mainly involving the RTP. Sometimes it's getting very blocky where actually there's fine detail that renders ok, and occasionally it just freaks out and shows random black squares all over a crop region, refusing to get rid of them until the software is restarted.

WAS

Quote from: ajcgi on July 05, 2018, 05:43:37 AM
Some of the atmospheric stuff can be faked in comp but the subtle stuff like shadows from clouds and surfaces is obviously tougher without the atmo being a huge cloud layer itself. Tricky indeed.
I've already hit a few issues with this method, mainly involving the RTP. Sometimes it's getting very blocky where actually there's fine detail that renders ok, and occasionally it just freaks out and shows random black squares all over a crop region, refusing to get rid of them until the software is restarted.

Receive Shadows from Surface with more fine detail in your land displacement creating mounds/peaks stretched and disrtoed for fake cloud detail for "dense" clouds would help simulate some shadowing effects.

ajcgi

Had to read that twice to see what you mean, but yes!  ;D ;)
Especially at distance. That's a great suggestion.
I have no land displacement atm as I was concentrating on the overall forms first. I should be able return to this shortly actually.