Culling/Vanishing point for aerial views in large scenes

I am using a 2 camera LOD system for all the geometry in the scene. One camera sees only the high poly layer, the other sees only the low poly layer when a certain distance is reached. During aerial views (eg. player climbs to a lookout tower) the player can see almost the entire scene, so having all objects culled beyond a certain distance looks very strange when this high from the ground (while grounded it works fine).


The question then is: Is there a way to simulate and be able to control a vanishing point in Unity?


To elaborate, is there a way to smoothly blend between whether an object is culled or not, since at the moment the distance culling creates an obvious edge when viewing the environment from an aerial view. I have seen a number of professional games use a vanishing point system for their aerial views, in which large environments gradual blend out towards the horizon, almost as if the outer edges were disappearing into a sort of fog or semi transparent layer. At the moment I am testing a system with a large hemisphere which blends from completely transparent at the top, to opaque at ground level. This system is rather clumsy however. Does anyone have a better suggestion?

Traditionally, fog is used to vanish things at distance - that was an essential trick in the past, when the hardware was too limited to render a large number of objects. You can set the fog in Edit/Render Settings. Fog settings apply to all cameras, but you can use different settings for each camera using OnPreRender and OnPostRender, like below:

// this script only works if attached to a camera
var newFogDens: float = 0.05; // fog density for this camera
private var oldFogDens: float;

function OnPreRender(){
    oldFogDens = RenderSettings.fogDensity;
    RenderSettings.fogDensity = newFogDens;
}

function OnPosRender(){
    RenderSettings.fogDensity = oldFogDens;
}

Another point: the camera Clipping Planes clip out things before Near and after Far distances. You could use a big Far Plane distance in your low poly camera, thus the objects it renders would not get clipped.