docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Create impostors

    From the Pixyz menu, choose Toolbox > Remeshing > Create Impostor.

    In gaming technology, impostors are an optimization technique that is mainly used for levels of details (LODs). Use impostors to drastically optimize meshes that are located in the background of real-time 3D experiences, without losing visual quality.

    An impostor comprises multiple maps of a mesh from different viewpoints, which are rendered on a quadrangle, a bounding box (12 triangles), or a custom mesh. Automatic fading creates a seamless rendering experience.

    This example shows an impostor that is rendered on a quadrangle:

    Image

    This example shows impostor that are rendered on a custom mesh (on the left) and on a bounding box (on the right).

    Image

    An impostor can have the shape of an octahedron or a hemi-octahedron. To create the maps of a hemi-octahedral impostor, this feature places viewpoints on a hemisphere that is located above the mesh. The quality of this impostor type is twice the quality of an octahedral impostor. The reason is that the algorithm creates the same number of views, but only from above the mesh. To decrease quality to improve performance, decrease the value of the Atlas size parameter.

    This example shows the difference between a hemi-octahedral impostor and an octahedral impostor:

    Image

    Pixyz Impostor supports:

    • Object intersections
    • Shadow casting and receiving
    • GPU instancing (activated by default)
    • LOD crossfading
    • All Unity render pipelines

    This table shows the performance of an impostor compared to a real mesh of with 140,000 triangles:

    Instantiation of mesh Real mesh
    Run time for a frame
    Impostor
    100 9,09 ms 2,77 ms
    400 29,41 ms 3,17 ms
    800 62,5 ms 4,01 ms
    1600 111 ms 5,78 ms
    Warning

    This feature doesn't work with trees that have been created from the Unity built-in tree generation process. The reason is that trees already include an optimization process.

    Warning

    This feature only works with the built-in render pipeline. Compatibility with URP and HDRP scene is in our short-term roadmap.

    Specify these parameters:

    Parameter Description
    Maps resolution The resolution of texture maps that are baked to render the impostor.
    Example: 4096 x 4096.
    Atlas size The square root of the size of the atlas of the different captured frames. The higher the value, the smoother the transition between frames, but the more demanding in terms of performance.
    Impostor type Select the type of impostor:
    • Octahedron: Viewers can view the impostor from any point of view.
    • Hemi-octahedron: Creates impostor for the upper hemisphere, to optimize performance. Use this type if your user can't view the model from below, as in video games.
    Render on Select the geometry on which the impostor is rendered:
    • Quadrangle
    • Oriented bounding box (OBB)
    • Custom mesh
    Make your choice according to your analysis of the scene in terms of frames per second (FPS). The reason is that, even if there aren't rendered pixels on the quadrangle, more calculation may be required for your graphic cards. You must check whether a higher polygon count on an OBB or a custom mesh is more effective than more transparent pixels.
    Save maps Saves the generated maps at the specified location.

    In this example, the yellow area is still calculated even though there aren't any rendered pixels:

    Image

    The impostor topology wraps better the initial mesh than with a quadrangle:

    Impostor shader

    This feature leverages a dedicated shader that you can correct if needed. For instance, if the impostor shadows are reflected on the model itself, you can adjust the Shadow Bias parameter.

    In This Article
    Back to top
    Copyright © 2024 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)