Please, read the description on the Asset Store page for a detailed overview.
It’s hard to maintain up-to-date descriptions both here and on the store page.
Links: Documentation Tech stuff - I have no connection to this article, but it covers a big chunk of how Impostors work.
Added clever sorting to order impostors that require update. Sorting based on screen size and time since last update. Looks much better than without sorting.
Added destroying empty impostors’ chunks. Not sure if it is needed at all
Hello! The asset looks amazing. I’m trying to figure out if I can use it for my project so I’d like to clarify a few questions:
Will this asset increase memory usage on mobile platforms?
Is it possible to unload gameobject’s mesh and texture from memory when the gameobject switches to impostor?
In my game I have a city which I’d like to be seen even far away from it. So I think this asset is quite good for this purpose. But the main question for me is memory usage. Do you think I can use it for this case?
Yes, the system requires additional RenderTextures to store Impostors.
It depends on what you are trying to achieve. If you know that your camera view angle will not change then yes. In another case, the system will need to update(re-render) impostors’ textures whenever your camera moves.
I had already tried to optimize city scene with another customer for mobile devices. We failed because of the way the camera moves in his game. It was a first-person free-flying camera and it was impossible to optimize with Impostors because it required to constantly update impostors’ textures. To be true, I achieved a quite performance boost but with a trade-off that there was a noticeable difference between impostors and normal objects.
The main requirement for Impostors to really improve performance is - camera must move slowly(or just not fast) relative to Impostors. So if you know your camera will not move fast, then it might work. At the end of the day, impostors are just one of the ways to hack hardware limitations, they can’t replace the standard rendering.
Hi
Good question. Unfortunately, I don’t know will it work, didn’t test that yet.
But there is a limitation: shader must write to Z-Buffer. Which means no transparent objects.
Thank you for the reply. I don’t think there is anything special in my shaders and I don’t intend to use it with transparent objects, I just wanted to ask since I previously tried to use Amplify Impostors and wasted a lot of time because it was very constrained about shaders.