Использование импосторов
When the scene contains a lot of objects that should be visible at large distances, the application performance suffers. To reduce the number of such objects, impostors are used. They allow speeding up geometry rendering while saving visual fidelity: each impostor repeats transformation and appearance of the original object. Когда сцена содержит много объектов, которые должны быть видны на большом расстоянии, производительность приложения страдает. Чтобы уменьшить количество таких объектов, используются импосторы . Они позволяют ускорить рендеринг геометрии при сохранении визуальной точности: каждый импостор повторяет преобразование и внешний вид исходного объекта.
UNIGINE provides the Impostors Creator tool that allows generating impostors for a single object or for objects baked into a Mesh Clutter: UNIGINE предоставляет инструмент Impostors Creator, который позволяет генерировать импосторы для одного объекта или для объектов, запеченных в Mesh Clutter :
- In the first case, the billboards-based impostor will be rendered instead of the real object. В первом случае вместо реального объекта будет отображаться импостор на основе объекта Billboards .
- In the second case, the Grass object will be rendered instead of the Mesh Clutter. Во втором случае будет отображаться объект Grass вместо Mesh Clutter.
For example, you can replace the distant trees with impostors to optimize forest rendering: Например, вы можете заменить деревья вдали импосторами, чтобы оптимизировать рендеринг леса:
1. Grabbing Impostors1. Генерация импосторов#
To grab impostor with the Impostors Creator tool, perform the following: Чтобы сгенерировать импосторы с помощью инструмента Impostors Creator, выполните следующие действия:
- In the Menu Bar, choose Tools -> Impostors Creator. The Impostors Creator tool will open. В строке меню выберите Tools -> Impostors Creator. Откроется инструмент Impostors Creator.
- In the World Hierarchy window, choose a single mesh or a clutter, for which an impostor should be created.
Impostors can be generated only for Mesh Clutter objects, World Clutter isn't supported.Impostors can be generated only for Mesh Clutter objects, World Clutter isn't supported.
- If you choose a mesh, a single impostor represented by the Billboards object will be generated.If you choose a mesh, a single impostor represented by the Billboards object will be generated.
- If you choose a clutter, impostors for all clutter objects represented by the Grass object will be generated.If you choose a clutter, impostors for all clutter objects represented by the Grass object will be generated.
Impostors can be generated only for Mesh Clutter objects, World Clutter isn't supported. Импосторы могут быть созданы только для объектов Mesh Clutter,World Clutterне поддерживается.- If you choose a mesh, a single impostor represented by the Billboards object will be generated. Если вы выберете меш, будет создан одиночный импостор , представленный объектом Billboards.
- If you choose a clutter, impostors for all clutter objects represented by the Grass object will be generated. Если вы выберете клаттер, будут созданы импосторы для всех клаттер-объектов , представленных объектом Grass.
- In the Impostors Creator window, specify the required textures and settings.
If you are going to generate the impostors for vegetation, you should specify For Vegetation option for textures (where available).В окне Impostors Creator укажите необходимые текстуры и настройки .If you are going to generate the impostors for vegetation, you should specify For Vegetation option for textures (where available).If you are going to generate the impostors for vegetation, you should specify For Vegetation option for textures (where available).If you are going to generate the impostors for vegetation, you should specify For Vegetation option for textures (where available). Если вы собираетесь сгенерировать импосторы для растительности, вы должны указать опцию For Vegetation для текстур (если она доступна).
- Click Create and specify a name for textures in the file dialog window that opens. Щелкните Create и укажите имя текстур в открывшемся диалоговом окне файла.
The generated impostor(s) will be added as a child node to the original mesh/clutter: Созданные импосторы будут добавлены в качестве дочерних узлов к исходному мешу / клаттеру:
- For objects baked into the clutter, the Grass object with the material inherited from grass_impostor_base will be added. All required settings will be copied from the original Mesh Clutter to the Grass object automatically.
Real Clutter Objects and Its Impostors in SceneReal Clutter Objects and Its Impostors in SceneObjects and Impostors WireframesObjects and Impostors WireframesReal Clutter Objects and Its Impostors in Scene Реальный клаттер и его импосторы в сценеObjects and Impostors Wireframes Объекты и каркасы импосторов
- For a single object, the Billboards object with the material inherited from billboards_impostor_base will be added.
Real Object (left) and Its Impostor (right) in SceneReal Object (left) and Its Impostor (right) in SceneObject and Impostor WireframesObject and Impostor WireframesReal Object (left) and Its Impostor (right) in Scene Реальный объект (слева) и его импостор (справа) в сценеObject and Impostor Wireframes Каркасы объектов и импосторов
2. Setting Up Impostor Material2. Настройка материала импостора#
All textures specified in the Impostors Creator are generated in the data folder and applied in the material automatically. The impostor material may require additional set up: Все текстуры, указанные в Impostors Creator, генерируются в папке data и автоматически применяются к материалу. Материал импостора может потребовать дополнительной настройки:
- If you grab only the Albedo and Normal textures, you will have to manually set up the other shading parameters of the impostor material (Specular, Translucence, etc.), so that the impostor visually match the original object. However, if the original object has several surfaces with different shading, the impostors may significantly differ (so it is better to grab all textures in this case). Если вы захватите только текстуры Albedo и Normal, вам придется вручную настроить другие параметры затенения материала импостора (Specular, Translucence и т. д.), чтобы импостор визуально соответствовал исходному объекту. Однако, если исходный объект имеет несколько поверхностей с разными оттенками, импосторы могут значительно отличаться (поэтому в этом случае лучше захватить все текстуры).
- For vegetation impostors, the Specular parameter should be set to 0 to avoid unnecessary specks on trees. Для импосторов с растительностью параметр Specular должен быть установлен на 0 , чтобы избежать ненужных пятен на деревьях.
- If you simply want to improve visual representation of impostors, you can adjust shading parameters (for example, increase Translucence for trees impostors and so on). Если вы просто хотите улучшить визуальное представление импосторов, вы можете настроить параметры затенения (например, увеличить Translucence для деревьев-импосторов и т.д.).