Generating Impostors with Impostors Creator
Impostors Creator tool is used to create impostors that are rendered instead of real objects at large distances. Impostors are usually used to optimize performance if you use mesh clutters: at a certain distance from the camera, they are rendered instead of the real geometry.
The Impostors Creator tool allows generating impostors for a single object or for objects baked into a mesh clutter:
- For a single mesh object (Static Mesh, Dynamic Mesh, Skinned Mesh), the billboards-based impostor is generated.
- For the elements of the Mesh Clutter, the impostors based on the Grass object are created.
The tool also provides special settings for generating impostors for vegetation. Impostor textures generated for vegetation ensure that when rotating a camera around any tree, its trunk will exactly match its geometry original regardless of the tree shape complexity.
See Also#
- The articles on Grass and Billboards objects.
- The articles on grass_impostor_base and billboards_impostor_base materials.
- The part of the Content Optimization video tutorial dedicated to generating impostors.
Impostors Creator Settings#
The Impostors Creator tool has the settings described below.
Textures#
The tool allows generating the following textures for impostors:
Final Image | Specifies if the final image (the model as it is) should be generated for the impostor. Here you can also specify a postfix for the image name (_final by default). |
---|---|
Albedo | Specifies if the albedo texture should be generated for the impostor. Here you can also specify a postfix for the texture name (_alb by default). For this texture, the following modes are also available:
|
Normal | Specifies if the normal texture should be generated for the impostor. Here you can also specify a postfix for the texture name (_n by default). For this texture, the following modes are also available:
The difference between these modes is noticeable when the original vegetation object has translucency properly set up. |
Shading | Specifies if the shading texture should be generated for the impostor. Here you can also specify a postfix for the texture name (_sh by default). |
Baked AO | Specifies if the ambient occlusion texture should be generated for the impostor. Here you can also specify a postfix for the texture name (_baked_ao by default). If generated, this texture is automatically applied in the material. |
SSAO | Specifies if the SSAO texture (not ray-traced SSAO) should be generated for the impostor. Here you can also specify a postfix for the texture name (_ao by default). The SSAO texture is automatically applied in the material if there is no baked AO texture. |
Translucence | Specifies if the translucence texture should be generated for the impostor. Here you can also specify a postfix for the texture name (_t by default). For this texture, the following modes are also available:
|
Depth | Specifies if the depth texture should be generated for the impostor. Here you can also specify a postfix for the image name (_depth by default). For this texture, only .dds format is available.
It is recommended to switch to the Without SSAO option for the Albedo texture if the Depth texture is used for more realistic results. |
Opacity Lerp Map | Specifies if an additional texture should be generated for the impostor. This texture is used for smooth linear interpolation of sprites when the camera rotates around the object avoiding abrupt switching between the sprites. Here you can also specify a postfix for the image name (_opacity by default). For this texture, only .dds format is available. |
The following pictures show the difference between impostors, which textures have been baked in different modes:
For each texture, you can choose the format:
- .tga
- .png
- .dds
- .psd
All textures are imported with the Unchanged flag disabled. It means that runtimes are created for the generated impostor textures.
Settings#
Resolution | The size of the grabbed texture. | ||||
---|---|---|---|---|---|
Supersampling | The number of samples per pixel used for supersampling. The grabbed image is rendered in higher resolution (N times bigger) and than down-sampled to the specified size. The higher the value, the more reduced aliasing is. You can specify any of the available values for textures of any resolution. For example, for 4K textures you can specify 4x or even 8x supersampling. The option is available even for 8K textures. Available values: 1x, 2x, 4x, 8x. | ||||
Aspect | Aspect ratio (width/height) of the grabbed images. The aspect affects the size of the impostor texture cell that stores the grabbed frame. For example:
|
||||
Phi | The number of frames to be grabbed into the impostor texture when the camera rotates horizontally around the object (i.e. left or right). Available values: 4, 8, 16, 32, 64.
|
||||
Theta | The number of frames to be grabbed into the impostor texture when the camera rotates vertically around the object (i.e. upward or downward). Available values: 1, 2, 4, 8, 16.
When selected value is equal to 1, Lerp Mode for the impostor material (billboards_impostor_base and grass_impostor_base) shall be set to Horizontal Only. |
||||
Padding | Texture padding. The recommended value is 256. |