Planetwide scene

Started by meldon, July 19, 2009, 09:56:01 PM

Previous topic - Next topic

meldon

How would you go about creating a believable, Earth-like planet when viewed from space?

I started with the beginnings of the Terrain section - http://forums.planetside.co.uk/index.php?topic=21 - in the documentation, which was unfortunately unfinished.  However, I have run into a couple problems:


1. Mountains:  Creating a power fractal with large features and an adjusted coastline gave me properly-sized oceans and interesting continent shapes, including areas of high and low terrain.  However, it lacked believable mountain ranges; the areas of high terrain were like one big mountain.  But adding another power fractal, set to mountain-sized formations, dotted my entire ocean with tons of little islands.  There was then more land than ocean!  Which as we know doesn't work with Earth's 70% water figure....

So.

Is it possible to create a power fractal set to mountain size, but only allow it to create formations above the surface of my oceans?  Or is there a better solution?  I'm sure there is; novice user here.


2. Oceans:  Initially, I had shaders with different colors assigned to different altitude ranges, to see how settings affected my world.  When I achieved good continents with large areas of red (my initial color for anything below altitude 0), I thought, "Great, I'll just fill the ocean basin with water."  Nope.  While I could produce a lake large enough to cover at least one hemisphere of my world, it would seem that it's impossible to cover the entire globe with water without crashing Terragen, whether you try one lake or 100.  Either that or I don't know how to do it.

So I changed my red shader into a deep blue shader (totally unrealistic for water) and attached a water shader to it.  This doesn't work for a couple reasons.  First, though I didn't mention this with the lake (it had enough problems of its own), if my oceans contain a water shader, the sun makes this beautiful, round reflection on my "water"... which I've never seen in pictures of Earth.... Is there a way to make it stop doing that??  Second, this solution isn't what I want.  If you zoom into the ocean, which I have every intention of being able to do, you'll see a blue-colored, bumpy surface, not the blue-colored (relatively) flat surface of a real ocean.  That's because it ISN'T a flat surface, of course, which is why I'd prefer using the first method, a lake.

Suggestions?


3. Clouds:  The clouds I have now are oK, I guess.  But don't exactly look like the pictures of Earth I've seen.  Any suggestions on making believable cloud systems on a planetary scale??


So I know I've posted quite a big amount, probably more than can be dealt with at once.  Feel free to pick which of these you would like to answer.  They're all foundational issues.  Also, if pictures would help, I'm working on a couple renders, I could attach pictures with a next posting if desired.

Henry Blewer

I have tried a couple planets. The way to create an ocean is to use a sphere. It needs to be just slightly larger than the planet sphere. Attach the water shader to this. Remember to use large scales for the waves. Something like 20 or 30 meters.
Generally I use the slope constraints in Surface Shaders and add the terrain features (power fractals, etc) within the Surface layers.
Clouds are hard. They need to be very large scale. The buoyancy function helps break these up.
That's all the suggestions I can think of. I'll post here if I have more. I get a lot of time to think at work. 
http://flickr.com/photos/njeneb/
Forget Tuesday; It's just Monday spelled with a T

Falcon

I've also experimented with several ways to create whole planets.

The solution for oceans/landmass I have is to use the continental power fractal as a blendshader for the other surface layers. That way, you only get mountains and other features on your landmass.

There's probably a better way to do it, but this one works, and avoids the "thousands of islands" problem that I also have.

One other approach I tried but was not quite as successful with, was to use a strata and outcrop displacement on the continents, so that you get a very strong seperation between land and what's going to be under the sea. If your seafloor is 5000 deep, a 2000 heigh mountain won't generate an island.

cyphyr

Hehe, the quest for a perfect planet!! To make a planet that looks good and believable at both close up and distant shots is a challenge indeed but one I think I am near to completing. The difficulty here is that we have so little reference material, we've only got the one Earth type planet and a smattering of relatively uninteresting rocks. To get the complexity of features we have on earth is hard, we need many different kinds of landscape feature, mountain regions, desert regions, forested and grasslands, ice caps, and islands, small hills and larger ones etc.

Here is my methodology so far:

Setup:
Pull the camera back to see the top third of the planet
Create a surface layer called SEA, give it a max height of "0" and a fuzzy zone of "0", enable test colour (dark blue?)
Create another surface layer called Peaks and set its height constraints to min height "2000", fuzzy zone "2000", enable test colour (white?) (both of these surface layers can be modified later to more realistic colours)
Add a sphere and give it the same dimensions/position as your planet (you could duplicate a planet but a sphere gives you the opportunity to turn off shadow casting (a possible render speedup). Add a water shader to the second planet/sphere. You now have a water feature that hugs your coastline right round your planet at "0"m height. You can now disable the second planet/sphere as it wont be needed until the final render and slows down/breaks up the preview.

Continents:
A single PF (Perlin Ridges) with the scale at 95000, the lead in scale set to 5e+006 and the octaves set at 28 together with a Blend Shader at similar scales but octaves down to 7. Both have their noise variation dials pushed to the right. This combination gives large planet scale continents with interesting coastal variations but still lacks detail in the mountain regions.

GeoGraphic regions -Mountains:
By this I mean the different types of mountain, hill and desert etc. For the mountains and hills I use several stacked Alpine Fractals as a child of a surface layer with its minimum height set to 1000m, fuzzy zone set to 1000m. The Alpine Fractals scale are 8000, 28000, and 56000 with displacements of 3000, 4000, and 8000 respectively. I also played with the settings dials to make more pronounced features. You could use normal PF set to high scales but the advantage of using the Alpine Fractal over the Power Fractal is that it has no negative displacement, you wont end up with holes on your terrain!

GeoGraphic regions - Hills:
Created in a similar way to above but using Power Fractals (vanilla and billows work best) instead of Alpine Fractals and setting the scale and displacements to smaller amounts.

GeoGraphic regions - Coast:
We cant get estuary's or river systems yet but we can cheat ! :) Using an Alpine Fractal with its displacement set to -1000 to -2000 as a child layer of a surface layer with a max height of 50m and a fuzzy zone of 100m will add variety and interest to the coast. A Voroni Diff shader with a constant scalar plugged into its seed and scale and a large scale PF (I used my original Continents shader) works well to make geological warps and twists and if set at a low altitude can look like valleys going into the sea.

So far there is no colour to this planet apart from test colours (sea and peaks). Once again the key here is scale, the colours and textures must work at both close up and planetary scale distances. Again the solution is to stack surface layer children on top of each other, very large scales working down to small scales. Using the PF's from the hills and mountain regions can be useful in controlling the coverage of the colours to regions already distinct by their displacement so a region that has desert like features can have a desert (coloured?) surface layer limited to it only.

Atmosphere and Clouds:
This is where it gets really slow but I don't think it can be helped... I use a 4 default Cumulus layers 1000m thick and 500m apart with a starting height of 4000m. Each Cumulus layer has a copy of the same Density fractal with incrementally less coverage as the layer gets higher. This will cover the entire planet fairly uniformly so they're broken up by ... yep, you guessed it again... stacked and scaled PF blendshaders!, the largest being on a planetary scale.

I'm sure I've left plenty out and this is still a work in progress but I think we're getting there.
Enjoy
Richard
www.richardfraservfx.com
https://www.facebook.com/RichardFraserVFX/
/|\

Ryzen 9 5950X OC@4Ghz, 64Gb (TG4 benchmark 4:13)

cyphyr

With Clouds
www.richardfraservfx.com
https://www.facebook.com/RichardFraserVFX/
/|\

Ryzen 9 5950X OC@4Ghz, 64Gb (TG4 benchmark 4:13)

domdib

Thanks for this very informative post and TGD!

Hetzen

That's brilliant Richard. There's some great tips in there, and a generous TGD to boot. When I'm clear of other things, I'd like to work with this and share the outcome, like we started on the wave project.

Henry Blewer

Excellent Cypher! You have answered my questions also.
http://flickr.com/photos/njeneb/
Forget Tuesday; It's just Monday spelled with a T

Falcon

Wow. That's a long and impressive post and the results are great.

I think the clouds are not yet "there" as much as the ground is, but it's a lot better than any of my tries. :-)

domdib

nvseal showed some great planetary clouds here a while back, and as he's now on board at NWDA, I'm guessing that he will be making a Tech pack of them

nvseal

Hey meldon,

Renders of the type you describe are some of the most difficult to produce (I've never seen a fully procedural approach produce a truly "realistic" result, at least to my eyes). The problem is, of course, the great diversity of scales involved. On the one hand there are scales reaching into the hundreds of thousands km and the other down the meters or less. However, that is not to say that it can't be done (as cyphyr already demonstrated). As been working on accomplishing this kind of scene for some time (both for displacments and cloud systems), here are some things you should keep in mind.

Mountains: For the continents, what you are currently doing should work fine. Just use a very large feature scale with some big discplacement. I usually use perlin billows for continents, though anything else will work as well. To deal with the mountains coming out of the oceans you can either restrict the displacements with a distribution shader or feed the inputs in the child nodes of a surface layer. Mountains are extremely tricky. The main thing to do is use lots of blend shaders [another power fractal of a greater scale connected to the blend shader node]. When using blend shaders remember to make the smallest scale larger as well as the feature scale to avoid sharp displacements where the polys are "stretched." When working on a plantery scale, it is also almost always necessary to use blend shaders on the blend shaders (i.e. displacement shader->medium scale blend shader->global blend shader). You also need to try to avoid similar displacements overlapping. So if there is a high mountain range it is probably better not to put another mountian on top of it. That said, however, displacement overlapping is extremely valuable. Try to overlap displacements with large feature scales or small "hill" displacements. The combination will add more detail and interest without having to add extra shaders and increase render times.

Oceans: As cyphyr said, you need to use a sphere for global oceans. Attach a water shader to the sphere and use play with the highlight spread & intensity settings until you get what you want.

Clouds: Global cloud setup is a topic unto itself. Basically, use blend shaders just like the terrain. Just make a good combination of cloud altitudes and sizes (some tall clouds, some popcorn clouds, some warping clouds etc.).

Here is an image of a planet displacement setup I've have been making on and off for while.

Original Link: http://fc04.deviantart.com/fs49/f/2009/201/e/4/Procedural_Planet_Test_Images_by_nvseal.jpg

aymenk2003

here is a real earth view

this one is unique
Le peu que je sais, c'est à mon ignorance que je le dois.

meldon

#12
Thank you one and all!!

After posting I got smart and decided to search through the forum to see what I could find.  Silly me, should have done that in the first place, I would have found a lot of these answers and you guys wouldn't have had to post everything again.

@cyphyr and nvseal: Thanks to you especially, very helpful.  I have seen your results with global clouds nvseal, very impressive.  I started trying clouds, but I figure I'll wait till I get the surface perfected before I even attempt clouds.


At this point, I have a layer for continents, one for mountains, and one for "small features".  As I mentioned, the continents turned out fairly nicely, though I think I'll try some of your suggestions, Cyphyr.  The mountains are the things still giving me fits.  Before even reading any of these posts, I had already tried using both a displacement shader set to high scales and a surface shader with a minimum altitude set as a blend shader for the mountains.  They both worked in eliminating the mountains from the ocean, but what I have failed to achieve are satisfactory mountain ranges.  That is, mountains grouped together in chains on the continent surface.  Maybe after experimenting with some of your guys' tips I'll get it, but I have already experimented with several different shader options, each set to different scalings, displacements, noise values.  Maybe I'm just not seeing/trying something obvious.  Maybe after having had a good night's sleep last night my mind will be clearer.... experimenting when tired isn't the best  ;D

So I'm going to go try some of these ideas, and I'll get back to you guys.  Again, thanks.  I've already implemented the water idea; what I was worried was going to be one of the harder issues was actually the easiest!  And as I said, I'll leave the clouds for a rainy day  ;D ;D ;D

Maybe I haven't had enough sleep.........

RichTwo

Wow - impressive work here.  I was about to post the same inquiry, now it's mostly answered.  There is one other thing, and it may be asking for too much of TG2, but could there be a way to place ice caps at the poles?  I think I read a post here sometime back about hooking an image shader to an extra camera, but I have no idea what that means.  I've created a Marslike planet that I'm somewhat happy with, and it'd be cool to add a bit more realism to it.  Thanks in advance!
They're all wasted!

nvseal

Quotecould there be a way to place ice caps at the poles?

Yes, use a surface layer, turn on slope constraints, then turn on "use Y as slope" and select the planet normals.