Modeling & Rendering Planets in Our Solar System (NASA data)?

Started by daudvyd, August 15, 2018, 06:40:54 PM

Previous topic - Next topic

daudvyd

Hi folks,

Are there any tutorials or starting models for planets in our own solar system, perhaps that draw upon the various NASA image databases? For those who may live elsewhere--I'm talking about the SOL system. I'm interested in rendering views from orbit, views in the atmosphere (or lack thereof), and views on the surface (or lack thereof). I'm guessing NASA data is the only way to create somewhat close approximations of surface characteristics. Atmospheric characteristics and celestial rings could probably be generated procedurally with enough time and tweaking. I'd appreciate any and all advice and examples.

Thanks,
-daud
 

Oshyan

Depending on what results you hope to achieve (for example how close to the planets you want to get), this can be fairly simple.

Terragen supports multiple planets, but all beyond the first/base one get created with their atmosphere and texturing nodes *inside* the Planet node. So that's the first thing to be aware of. So create as many planets as you want to visualize in a single scene, then you work on placing them. You can try to use real-world distances but it will probably be challenging due to the immense scales involved. If you do, you'll probably need to greatly increase the radius of the Background Sphere (which, incidentally, uses a negative radius because it's inside out, so to increase it you want "bigger" negative values).

You'll also want to adjust your planets to their real-world equivalent sizes. As I mentioned, things are measured in Meters in Terragen. So find out the radiuses of the planets you want to model and set those values in Terragen. Rename the Planet nodes to indicate which planet is which for easy reference.

After that it's a fairly simple matter of sourcing the appropriate texture maps - displacement or bump map for height (for non-gas planets), and color map, those are the only two necessary.

Apply the Displacement/Bump map to the planet surface using an Image Map Shader set to Spherical Projection, with the "position" set the same as your Planet's position. Adjust displacement amplitude as-needed. To be accurate, you probably want to use an Amplitude/Multiplication value that is equal to the highest point in the respective planetary body you are trying to visualize. So for Earth it's around 6500 meters, for example.

Apply color using an Image Map Shader as well, same projection and position as with Displacement.

The atmospheres of each need to be adjusted, of course. That will have to be done by eye as there are no easily translated measurements or other specifications for any of the non-Earth atmospheres, as far as I know.

That should get you started. Hopefully I haven't missed anything. :D

- Oshyan

daudvyd

Oshyan, this is very helpful. Thank you! TGD files appear to be XML. It may also be possible to modify the file to reposition the plabets around their correct orbit in 3D space.

WAS

Quote from: daudvyd on August 19, 2018, 08:14:52 PM
Oshyan, this is very helpful. Thank you! TGD files appear to be XML. It may also be possible to modify the file to reposition the plabets around their correct orbit in 3D space.

That could be done with TG with it's position location. As for correct orbits, that would take com editing. TG is currently just a planet with a black sphere around it. The space present within that sphere I'm not sure is even as large as the distance to the moon. Could be wrong. But certainly not solar system scales.

Oshyan

Yes, the TGD file is XML, pretty easily edited/changed externally through automated means.

- Oshyan

ajcgi

Personally I wouldn't touch a solar system-scale scene in Terragen, or any other 3D software. One planet at a time is the way to go and if you really want to move from one to another cheat it. All of VFX is a cheat. Huge numbers create rounding errors that can add serious transformation wobbles to your cameras.

I'm currently working on a show which is about the solar system. Break things down into setups for orbit, setups for the surface and so on. Plan ahead a little and it will make your life so much easier. Most of the planets I'm working on are set to default sizes as they're never in the same scene as each other. So the Earth is Earth-sized. So is the Moon, Mars, Mercury etc. The reason is so I can use a similar camera rig in Houdini for all orbit shots without having to compensate for the size of the planet.
The origin of the world is always at the North Pole for similar animation reasons. Plus it keeps looks consistent. If you set up a planet to look awesome in space, but then shift the origin to the core you might find it affects the fractals in your scene, rearranges some clouds etc.

Incidentally, http://maps.planet.fu-berlin.de/#map=4/-666803.04/889070.72
This is the most convenient source of Mars elevation imagery to my knowledge.

Oshyan

ajcgi definitely has some sage advice from a production perspective. I'll just say that changing the size of the planet will make the atmosphere respond more realistically based on size, but it's mostly going to be refined by eye anyway, so you can compensate even without planet size changes.

- Oshyan

daudvyd

Thanks ajcgi & oshyan. I agree that it is not likely necessary to place all planets in the same scene. Definitely, a planet and its own moons. Beyond that, I'll have to investigate online which planets can sometimes be seen from which other planets.

WAS

Quote from: ajcgi on August 20, 2018, 06:59:14 AM
Personally I wouldn't touch a solar system-scale scene in Terragen, or any other 3D software. One planet at a time is the way to go and if you really want to move from one to another cheat it. All of VFX is a cheat. Huge numbers create rounding errors that can add serious transformation wobbles to your cameras.

I'm currently working on a show which is about the solar system. Break things down into setups for orbit, setups for the surface and so on. Plan ahead a little and it will make your life so much easier. Most of the planets I'm working on are set to default sizes as they're never in the same scene as each other. So the Earth is Earth-sized. So is the Moon, Mars, Mercury etc. The reason is so I can use a similar camera rig in Houdini for all orbit shots without having to compensate for the size of the planet.
The origin of the world is always at the North Pole for similar animation reasons. Plus it keeps looks consistent. If you set up a planet to look awesome in space, but then shift the origin to the core you might find it affects the fractals in your scene, rearranges some clouds etc.

Incidentally, http://maps.planet.fu-berlin.de/#map=4/-666803.04/889070.72
This is the most convenient source of Mars elevation imagery to my knowledge.

I've seen countless solar system models, and they're very popular in science documentaries. Can you elaborate further? If your focal is a planet that makes sense, of course. If your focal is the solar system. Make the solar system. Animated it. Etc. As seen since the early 90s. The scales are proportionately scaled to aesthetically reasonable scales of course, but the proportions look the same, thus the "scale" seem accurate.

ajcgi

Yes they are popular in science documentaries. They're almost never to scale because you wouldn't see it all at once, possibly even on a 4k monitor. Ordinarily distances are reduced or scales faked just for artistic effect. I know this from working on them.
Here's something that's closer to real scale than most Discovery Channel shows have ever been. Since the 90s. Check how Mercury is one pixel large. Now imagine pulling back to see the whole solar system. Mercury would vanish entirely pretty quickly.
http://joshworth.com/dev/pixelspace/pixelspace_solarsystem.html

WAS

#10
Quote from: ajcgi on August 22, 2018, 11:16:22 AM
Yes they are popular in science documentaries. They're almost never to scale because you wouldn't see it all at once, possibly even on a 4k monitor. Ordinarily distances are reduced or scales faked just for artistic effect. I know this from working on them.
Here's something that's closer to real scale than most Discovery Channel shows have ever been. Since the 90s. Check how Mercury is one pixel large. Now imagine pulling back to see the whole solar system. Mercury would vanish entirely pretty quickly.
http://joshworth.com/dev/pixelspace/pixelspace_solarsystem.html

Well, I understand what you mean, but scale is entirely relative. For example, I play KSP with Real Solar System mod which is accurate down to 1m or 1km or something. Someone did NASA orbit comparisons years ago. It will literally take you 6 months to transit to Mars in the simulation if you aren't using time warp. Even Universe Sandbox (2) can do a Sol system you can pan and zoom into planets in realtime, also as accurate as possible, which is deemed scientifically accurate and used in schools.

Via cameras, you can do the same viewing of the solar system, at scale. Like a lot of high-level animations at large scale, they'd use transitioning scenes or transitioning textures/quality controls when viewing anything specific for quality purposes.

I'm having easier time finding simulations and animations done to as realistic proportions as possible than artistic mocks that serve no purpose educationally (besides graphs to scale). Like the example you posted, it's only to scale between relative objects, not a scale solar system. Which when fitting those objects in a small space, you'd have static scales of something like the moon, at one pixel.

A 3D space with scaled objects representing their accurate proportions to each other, and their orbits, is most certainly doable, and would be the best representation of what's actually up there. Detailing those objects in close pans would be where you'd get clever.

ajcgi

Quote from: WASasquatch on August 22, 2018, 11:23:59 AM
Via cameras, you can do the same viewing of the solar system, at scale. Like a lot of high-level animations at large scale, they'd use transitioning scenes or transitioning textures/quality controls when viewing anything specific for quality purposes.

I'm having easier time finding simulations and animations done to as realistic proportions as possible than artistic mocks that serve no purpose educationally (besides graphs to scale). Like the example you posted, it's only to scale between relative objects, not a scale solar system. Which when fitting those objects in a small space, you'd have static scales of something like the moon, at one pixel.

Have you any examples please? I'm curious as to what you're saying here. Scale is scale. Artistic mocks in my experience are there to teach where realistic scale is impossible.

WAS

#12
Quote from: ajcgi on August 22, 2018, 11:56:09 AM
Quote from: WASasquatch on August 22, 2018, 11:23:59 AM
Via cameras, you can do the same viewing of the solar system, at scale. Like a lot of high-level animations at large scale, they'd use transitioning scenes or transitioning textures/quality controls when viewing anything specific for quality purposes.

I'm having easier time finding simulations and animations done to as realistic proportions as possible than artistic mocks that serve no purpose educationally (besides graphs to scale). Like the example you posted, it's only to scale between relative objects, not a scale solar system. Which when fitting those objects in a small space, you'd have static scales of something like the moon, at one pixel.

Have you any examples please? I'm curious as to what you're saying here. Scale is scale. Artistic mocks in my experience are there to teach where realistic scale is impossible.

What defines "Impossible"? Scale is relative to the observer. The exact size of the real object is definite. It's based on what they see, and markers that represent scale and depth. You'll never be able to tell the difference from a scaled version of something, and you'd likely not tell the difference from variations within those scales like most simulations in general.

While these have the planets ballooned for viewing and educational purposes, there is no reason you can't have proportionately scaled planets. Again, two games I play do it in real time. Asset management is the tricky bits, and like a mentioned if you were to do a video flying up to one of the planets, it might be best to just have a LOD placeholder and morph it with another scene with vibrant detail. Which is what game engines do like Unity which is used for both KSP and Universe Sandbox's rendering, while US2 uses proprietary procedural scripts and physics engines. There's another simulator called the Space Engine, a universe simulator that can do solar systems: http://spaceengine.org/ (just found this one)

https://www.youtube.com/watch?v=fVnV_vpdpzQ Here's one model. Here's one in a geographic web video: https://youtu.be/libKVRa01L8?t=2m57s

In general again I play routinely in a to-scale Sol system that takes months to do anything. Years to do anything in outer planets. Without time management, that game wouldn't be a game it'd be the most realistic simulator that is and would take a life to completely explore the System.

Speaking of that, I made a automated flight around Earth in KSP, and exactly like IRL it took 101.1 hrs to complete at 126km/s in a prop solar plane. That's pretty exacting as far as scales go for the planet alone.

To also add, as a starting point, TG handles the diameter of our solar system at about -9.09e+012 without a hiccup for the background sphere. Or -1.7692e+16 to the Oort cloud.

ajcgi

OK I'm gonna try from scratch explaining what I meant.
When working in 3D software, not a game, not a VR land, but actual 3D soft, making the whole solar system isn't necessary. If you made it to real world units, the outer reaches become so far away as to make the camera position coordinates unbelievably huge numbers, especially if you stick to 1 unit is 1 metre or 1cm even. Maya, Houdini, Max, Blender and pals only consider a certain amount of decimal points under the hood. As that number floats further away from the primary digit, rounding errors occur and the camera can wobble. If you really wanted to make the whole solar system in Houdini say, that would be easier with 1 unit representing a km and not a metre.

Games approach things differently, moving assets behind the scenes to allow you to keep moving and the engine to not have to deal with the massive numbers.

With those youtube vids you linked to, correctly sized planets would be hardly visible. If a client asked for that I'd say the're daft, but if they were shown too large at least the viewer would get the gist of what's going on. To show everything on screen at once is nigh-on 'impossible' at correct sizes.

cyphyr

For the fun of it I thought I'd give it a try.
Well technically it can be done (see attached) but there are multiple problems.

I have laid out the planets in a direct line on the positive z axis. Moving them to other locations will require some maths.

Terragens default units are meters so the distance from the origin for Pluto works out at 5.913e+012 (or 5,913,000,000,000 meters !!!) away from the origin. The background sphere has to be bigger than this so I have simply opted to round it up to 6e+012.

If you can get close to an individual planet you can select it and move with great accuracy around it and down to its surface. If you don't select the planet first accurate movement at these distances is next to impossible. I would recommend copying the planets location to the camera and then very slightly backing the camera off, and then select the planet in question.

Another major problem is the Sun. In Terragen this is "stuck" to the Background sphere. I don't think it really has any "real" position in 3D space so we can never have it at the centre of the scene. Replacing the sun with a "Light source" should work but at even insane values I have not been able to get it to illuminate the planets.

The attached file has an image (not included obviously) mapped on the Earth planet. You can replace this with one of your own.

An interesting intellectual exercise but ultimately not going anywhere in Terragen. There are far better alternatives and it is not a project that would play to Terragens strengths. Have fun with the file if you like :)
www.richardfraservfx.com
https://www.facebook.com/RichardFraserVFX/
/|\

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