Over the years and with some specialized assets coming available, Unity has become a great tool for building games that require large open worlds. While these games still require careful planning and a lot of optimization, it has become much easier and faster to create the maps themselves. In this post, I want to share some tips and tricks that I have learned over the years.
In 3d games, a lot of attention by developers is focused on elements of the engine that might hinder the players’ immersion in the game. These can be big projects, like defeating the uncanny valley (see my last post on realistic characters), or little eye-catching bugs or features of a game that drastically differ from how a user expects things to look.
The ugly reality of near clipping
In the world of 3d games, we rarely deal with volumetric objects (objects that have an ‘inside’), but rather most of our assets are hollow on the inside. This saves a lot of performance and usually doesn’t matter for the player unless the game needs it (for example a game where you need to dig into the ground, or a flight simulator with volumetric clouds).
A game’s camera usually has a specific area in which it will render these objects, consisting of a near plane and a far plane. If an object is too close or too far, it simply won’t be rendered by the camera. However, if an object just barely intersects with the near plane, the ugly reality of hollow objects shows itself to the user: 3d models are not only hollow, but you can see through them when the camera clips part of the object!