Delaney King

Delaney King



One #gamedev optimisation people are familiar with is "imposters" or "billboards". This is basically a picture of the model mounted on a quad. Imposters are most often used for distant trees, though you can do a lot more with them nowadays.

For example, Amplify make an imposter tool that allows you to take assets and turn them into imposter with a lot of control. (Unpaid promo)

Here is a nother unity imposter generator.

These generators can be used in other styles of games such as isometric games, where you want some camera parralax but are basically looking at things from a few angles of one main direction. Imposters can be used for things such as clutter items and background features...

You can also manually make simple imposters for your backgrounds from game assets by using screen shots and preview modes. You can assemble a complex scene, zoom out and then preview mode the normal, roughness, AO and metallic for your screen. This can be made into a billboard.

Remember that geo is usually cheap, textures and shaders are not. However lots of geo crammed into a small section of screen with lots of draw calls and shadow casting etc isn't great. A billboard can help with this.

Just be aware that neither of these work as well with VR unless very far away as they rely on no depth perception. Top: a billboard can have a shader that has things like animated UVs and noise in the lights to make them move subtly and feel more alive.

If you look out over a city at night, you will notice the lights twinkle a little, dimming subtly as the atmosphere between changes, heat distortion, smoke, bird flies past and so forth. A subtle noise can really add some life to distant things.

You can also use simplified mesh models to add depth to distant screen captured billboarded objects. It doesn't have to be a flat plane. The benefit of this is you can capture the polished look of a complex scene, and render it as a single simple lightweight shader.

Again, use the buffer previews to capture views of the distant model and project these onto the new mesh and make a simple shader instance to do all the work.

Hope that helps x

Follow us on Twitter

to be informed of the latest developments and updates!

You can easily use to @tivitikothread bot for create more readable thread!
Donate 💲

You can keep this app free of charge by supporting 😊

for server charges...