What is an imposter?
When optimizing a scene it helps to have as few polygons as possible for the computer to handle. To combat this, there are ways the developer can reduce the poly-count of models or switch out the model entirely for a 2D sprite render. This 2D alternative is an imposter.
Unity LOD
Before I get into the 2D sprite render version, I want to take the reduced poly-count route. I'll do this with Unity's LOD system. This built-in Level of Detail (LOD) rendering allows the developer to reduce the number of triangles rendered for an object as its distance from the main camera increases. Introducing LOD to models can reduce the load on the cpu and improve render performance.
LOD example in Unity documentation
I did a few tests with LOD in a Unity scene too. Using one of the character models from Groundless, I opened it in Maya and began reducing the vert count on the model using the Reduce function.
I created 4 different LOD groups. As you can see lowest vert count model on the far right didn't look so hot towards the end. But that's alright, it will only be seen from very far away in the scene. After the reducing was finished I exported the set over to Unity where it automatically creates the group with the LOD models in it. In addition to this, Unity creates an LOD setup that utilizes the various LODs I've created. Below, you can see the LOD Group component and the LOD model in the preview window. This window also show the triangle count of the model in scene. As you can see, as the camera zooms out, the model reduces triangle count from 7572 to 3750 to 1822 to just 900. That's approximately 11% of what the full-poly model is!
The great part is that the LOD group just works. Here is a short clip of me zooming away from the model in the Unity scene. I've added different materials to the LOD models so that it reads easier when they switch out. Even with the incredibly messed up model at LOD3, the camera can register that information too effectively. The antlers in the mask are barely there, but it's almost impossible to see that.
Why take this approach when I could dive right into the 2D sprite billboard render way? Easy answer, I don't quite know how to do that yet. I'm going my research now and from what I can tell, I'll be rendering a 3D object to a billboard with a render texture. Regardless of what path I take, I'll post my findings next week.
Happy Tuesday!