Impostors
API function: <xref:UnityEditor.Asset Transformer.UnitySDK.ImpostorGenerator.Run*?text=ImpostorGenerator.Run">
Generate octahedral impostors (full or hemi) from the input GameObject sub-hierarchy. Results can be baked on planes (default) or on input meshes.
A 3D impostor is a technique used to optimize performance by replacing complex geometries by a plane or a really simplified mesh. The original model is captured from a number of views (specified as input). These views are saved on a texture and map at runtime onto the simplified geometry which will always face the camera.
These representations maintain the appearance of the original 3D object when viewed from a distance or specific angles, while significantly reducing the computational load on the system. Perfect for far distance LOD.
Thanks to depth capture, shadows can be casted to enhance the feeling of 3D (in BiRP, URP and HDRP).
In HDRP, depth is also offseted so intersections with other objects will be correct.
Limitations
- Specular property is not supported (will not be baked in output textures)
- BiRP/URP:
- Can only be generated in a deferred project
- Intersections with other objects will be incorrect (limitation: no depth offset)