- Home /
Connecting the horizon scenery and skybox at high altitutde: is this an appropriate use of culling masks?
So I started learning Unity this week, and I'm at the point where I'm starting with creating scenes. I started with infinite water and the default skybox, nothing under the water. The water is 5000 in diamater to match the far clipping plane and follows the player's X and Z coordinates. Now at sea level, this looks fine on its own, but if any sort of altitude is gained (not expendable for the sort of game I'm making, a high speed arcadey shooter) the horizon pulls apart:
http://gfycat.com/ColossalShrillHylaeosaurus
Now this has been asked before and there's a few solutions I found doing my homework, but none of them really quite worked for me. The common suggestion was to use the global fog camera component to "mask" the scenery objects with the skybox colour, but this didn't really work for me and made it worse on some configurations. What did seem to work was this:
http://gfycat.com/FloweryEssentialBison
This mostly solves the problem, where I did this:
I made another camera and superimposed it on the Main Camera as a child.
I set it to a lower depth and moved all layers off it except water and the skybox.
I moved the water off the Main Camera and set it to Depth only.
I made Far Camera's far clip plane ludicrous (99999) and scaled the water to match.
But my question is this: Am i going about this the right way? Have I set myself up to fall with a any sort of future performance problems by doing this, or unexpected behaviour (like how I found global fog to be covering up my particles in some settings)? Or, is using multiple cameras and culling masks an ideal way to handle this situation? Would I be able to populate the extreme far off regions of the map with primitive geometry to make land and put it on a layer exclusive to the far camera or would this be bad practice for reasons I'm unaware of?
Your answer
Follow this Question
Related Questions
How to add skybox to scene Unity 3.5.5 2 Answers
How to render one object on top of another in URP? 0 Answers
How to merge two images at runtime? 1 Answer