Managing a Large Space Environment with Planets?
Hi all,
I'm looking at how one might manage a large space environment with planet(s). A planet is very large and usually very far away from a spaceship in space. I understand it's a good idea to try and keep things in Unity fairly close and within reasonable units.
How would one approach putting a planet (or very large object) into their Unity game? Is it perhaps an optical illusion to make small reasonably sized objects appear very far away? The player should be able to approach these planets. I understand there would be many algorithms or fancy tricks to get this Space-Planet environment working seamlessly, I'm just looking to be pointed in the right direction.
Imagine Kerbal Space program; that's what I'm going for and that game was also made in Unity so it's certainly possible.
Thank you!
Answer by Pzula · Jul 02, 2016 at 04:42 PM
Hi all,
After some more research I've come across an interesting article about the techniques involved rendering a large environment.
What happens is to create these large environments you use multiple cameras which render different layers. Rendering these layers together and having offset translations creates a parallax effect giving the illusion of great depth.
E.g. You have two layers:
Your 1:1 objects
Large objects which are scaled down
Here is a good description of the technique from a YouTube comment:
You put all the GameObjects that you want in the scaled space on a specific layer, and have a separate camera that renders only that specific layer. The scaled camera then mirrors the main camera's field of view and rotation. The translation gets mirrored as well, but for every 1 unit, the scaled camera moves only 1/scaleFactor. The parallax effect that comes from that gives you the illusion that you're looking at something much, much bigger than it actually is.
A good read about this technique and the reasoning behind it can be found Here
I'd also recommend watching this YouTube demonstration which shows these techniques very well.
And here's the lead developer of Kerbal Space Program talking about various KSP Unity techniques.
I imagine what KSP does it a seamless swap of planets and landscapes between the various layers.
Any idea if you can do the 1/scalefactor on second camera while also using the floating origin mentioned in one of the linked references?
I found this video: video and have gotten the code working, now not sure where to put the player and the camera for first person or third person.
Your answer
Follow this Question
Related Questions
Example of Procedural Planet generation? 3 Answers
Moving and Rotating a Player Smoothly on a Rotating Planet 0 Answers
I want to create astronaute expeirence for VR. How should I tackle it? 0 Answers
Gravity on a round planet for character,Character not rotating towards planet surface 0 Answers
Solar System Scaling 0 Answers