Mirage - Versatile Impostor System OFFICIAL SALE

Mirage gives 50% OFF AutoLOD (Mesh Decimator)!

It works in symbiosis with it, for the ultimate optimization ecosystem.


Try Mirage on this Online WebGL Demo

You can check the Online Documentation


Introducing Mirage 2.0 - Redefining your expectations

  • You can now restrict the longitude range for objects that don't need to be seen from 360°
  • See the Gizmos in real time as you tweak the parameters in the editor window
  • Improved interpolation - Choose whether you want a Smooth but blurrier or Sharp but Snaps rendering

What you can expect from Mirage:

  • Reduce the triangles count and draw calls by orders of magnitude in just one click
  • Performance magic - Up to 10x FPS increase on complex massive scenes
  • By far the most versatile impostor system : Say goodbye to pink outputs or other errors, Mirage is compatible with ANY unity version after 2021.3 and ANY render pipeline, with ANY shader and can be embedded on ANY platform. Natively.
  • Bake as many objects as you want in a single impostor
  • Extremely easy to use: Struggling is not an option, the plugin is really straightforward to use and you will get your first impostors baked in just a few seconds.
  • VR ready: and more generally, multi-view and single pass stereo instancing compatible.
  • Compatible with GPU Instancing
  • 2 lighting modes:
    • Surface estimation: lit, multi-light compatible impostors
    • Use Scene Sun Source: If your lighting is directional and static, you can use this option to bake directly the light reflections on the impostor colormap. The impostor is then rendered on an unlit material.
  • Lightweight and non-intrusive module: Mirage will not change project or player settings nor install any additionnal dependencies aside from shadergraph in your project. It is a lightweight standalone package that was designed to fit seamlessly in any project.

FAQ:

  • What is an impostor?

An impostor is a billboard that displays an image of a 3D object. The image will update and change according to the viewing angle in order to fake a 3D effect and save on performance.

  • When should I use it?

Impostors are mainly used to render non-deformable objects far off in the distance in order to optimize the scene.

You could also use them to get a unique art style with a 2.5D "snapping" effect.

  • Can any object in my scene be replaced with an impostor?

Technically, any objects with a MeshFilter and MeshRenderer attached can be baked into an impostor. However, they should mainly be used to replace meshes in the far distance. At closer range, the difference will be noticeable as a simple quad doesn't intersect the same way with surrounding objects in the same way as the original mesh. Also, impostors are baked in orthographic view which means that the perspective will be wrong at closer ranges.

  • Are impostors compatible with the LODGroup component?

Yes. You also don't have to deal with geometry alignment manually, by default the tool sets the LODs for you.

  • How long does it take to bake an impostor?

A few seconds.

  • Can I build on any platform?

The impostors shader is based on Unity surface shader so you should be able to build on any platform handled by Unity out-of-the-box.

  • Are there any required dependencies?

No. This is a standalone package.

  • What makes Mirage different from its competitors?

Even though baking on HDRP is not recommended, Mirage is the only 100% versatile 3D impostor system. It is compatible with any shader, on any pipeline, on any target platform, on any unity version after 2020.3, out-of-the-box. Although it is a trade on visual fidelity, especially when dealing with complex objects with intricate self-shadowing shapes or smoothness variations. Fortunately Mirage comes with a lot of post-baking settings directly in the material inspector and you can always get a seamless match from the original object when seen from far in the distance.

  • Can I bake impostors at runtime?

Not yet, but that is a feature we are working on. The C# core was designed to have several baking engines, but only the EditorBakingEngine is available yet.



If you need help or want more information, you can join the Discord server