Dissolving The World
Created on 2023-09-17T21:37:05-05:00
Birds-eye views can easily result in scenes where the screen is covered by scenery. Players must be able to see their character and so this is a problem.
Avoiding obstructions: if a world is very open, the camera is high, and is designed in such a way it can never be blocked. For example the camera might not have an orientation you can change and so the designers can just avoid putting walls in the way.
"Popping the lid": cutting up the level to control what appears. Each floor in a multi-story map is tagged with height; the player can choose which floor they want to see and anything above that floor is cut away and not rendered. Lower floors might be rendered or truncated (such as rendering the outer walls, and only objects visible through certain portals in the floors.)
Walls may be kept on a separate label and tagged in a certain way; when they are noted to be facing the wrong side of the camera then the walls can be disabled to cut them away.
Another option is to have the world rendered as per normal but cut away a section around where the player stands.
Modern shaders offer the ability to make this cut away smoother and possibly have animated borders around the edges.
Dissolve effects
Starting with Perlin noise, then clipping by some threshold value. Moving the cut point changes which parts of the noise are active and allows creating masks that "dissolve" in and out from random points.
Use of world coordinates so the noise is spread across the object, texture moving with objects, rather than using a UV map of the objects themselves.
Dissolving near the screen
Create a halo in the shaders over the area to be cut from. In the article they use screen coordinates so the center of the screen is what gets cut.
Mix the distance from the player to the camera and the Z-buffer to determine if an object is close enough to be rendered through.
Objects which can be dissolved use a separate shader from those that do not dissolve.