No Image

Тесселяция unreal engine 4

СОДЕРЖАНИЕ
4 просмотров
11 марта 2020

This tip might be useful for those people, who tries to achieve the best possible quality of their in-engine static renders. Big values of tesselation multiplier are not suitable for real-time games at this moment and I recommend to use parallax occlusion mapping instead.

Default tessellation multiplier in UE4 locked to the value of 15, which mean that by default tessellation quality is limited. You can change this behavior by modifying shader code.

Just do the following.

Open: Epic GamesUE_4.XEngineShadersPNTriangles.usf

Find and change [maxtessfactor(15)] to [maxtessfactor(50)]

and CompositeTessellationFactors = clamp( CompositeTessellationFactors, 1, 15 ); to CompositeTessellationFactors = clamp( CompositeTessellationFactors, 1, 50 );

Optionally do the same for Epic GamesUE_4.XEngineShadersFlatTessellation.usf if you’re using flat tesselation instead of PN Triangles.

Keep in mind, that it will require recompiling all shaders after the first launch, so be patient. Also, you need to do this trick each time when you’re updating your engine to the new version.

An overview of the Material Nodes example level, example 1.12: Tessellation Multiplier.

Tessellation Multiplier controls the amount tessellation along the surface, allowing more detail to be added where needed. As with World Displacement, for this to be enabled, the Tessellation property must be set to something other than None.

Click for full size

When using World Displacement to expand your object beyond its original bounds, keep in mind that the renderer still uses those original bounds. This means that you may see culling and shadowing errors. To address these issues, you can edit the mesh’s Scale Bounds property, although your edits could result in a performance drain, potentially leading to other errors (such as improper shadowing).

Читайте также:  Amd radeon sapphire r9 280 dual x

Привет, Хабр! Предлагаю вашему вниманию перевод статьи WorldMachine + UE4: Full Workflow.

Руслан Назиров показал, как можно создавать красивые ландшафты в World Machine и импортировать их в Unreal Engine 4. Руслан начал работать с Unreal Engine всего год назад, но уже сейчас демонстрирует удивительные результаты.

Процесс создания ландшафта для UE4

1. Создание нужного ландшафта в World Machine. Я использую библиотеку макросов GeoGlyph для ускорения процесса создания ландшафта.

2. Создание необходимых карт высот для слоев ландшафта. Вы можете использовать стандартные Erosion-выхода, такие как Flow, Wear или Deposition. Или можете использовать сторонние макросы, например, ReFlow из GeoGlyph. В этом случае, Вам надо будет присоединить эти карты к Splat Converter, чтобы обеспечить правильное расположение веса Splatmap.

3. На этом этапе Вы можете приступить к покраске ландшафта, чтобы понять, как на него будет ложиться материал. Также на этом этапе можно приступить к поиску нужных текстур для ландшафта, потому что в UE4 вместо простых цветов используются именно они.

4. Следующим шагом станет экспорт карт высот для ландшафта и слоев (Они понадобятся для правильного наложения материала на ландшафт в UE4)

5. После этого, Вам нужно создать правильный материал ландшафта в UE4. Это сложно, но я дам один совет: Вам нужно использовать разные параметры тайлинга для текстур, которые будут зависеть от дистанции до камеры. В этом случае, отдаленные районы ландшафта будут использовать растянутые версии текстур, чтобы предотвратить заметное повторение текстур.

6. Материал ландшафта обычно содержит несколько слоев. Вам нужно работать с каждым слоем отдельно.

7. Повторяйте это для каждого слоя, а затем используйте ноду Landscape Layer Blend чтобы смешать все слои в один.

Читайте также:  Драйверы vaio на официальном сайте sony

8. Можно улучшить настройку слоев, добавив больше параметров и используя карты Ambient Occlusion, Roughness и Displacement, чтобы добавить большей детализации ландшафту.

9. Вы можете использовать зависящую от расстояния тесселяцию, чтобы кардинально увеличить производительность при использовании Displacement карты. Используйте код снизу для множителя тесселяции. Помните, что Вам нужно отключить чекбоксы Adaptive Tesselation (адаптивная тесселяция) и Crack Free Displacement (смещение без трещин) в параметрах материала.

10. Вместо ручной покраски травы, Вы можете использовать один из экспортируемых слоев из World Machine. Для этого используйте ноду Grass и задайте ей параметр Вашего слоя (Используйте то же имя, что и в ноде Landscape Layer Blend). Также Вам нужно создать ассет Landscape Grass Type, чтобы задать параметры для травы, такие как плотность, размер и другие. В целом, Вы можете использовать этот метод не только для травы, но и для камней, деревьев и других объектов на ландшафте.

11. Когда материал ландшафта готов, настало время импортировать сам ландшафт. Откройте вкладку Landscape в окне Modes. Выберите Import From File. Затем выберите созданный Вами материал ландшафта. После этого выберите карту высот для ландшафта, которую Вы создавали в World Machine. Создайте Layer Info для каждого слоя (Weight-Blended Layer). Для каждого Layer Info выберите нужную карту слоя, которую Вы делали в World Machine. Вы можете задать Scale (масштаб) ландшафту, если нужно. После всех этих действий нажмите Import и вы получите ландшафт с созданным Вами материалом.

12. После этого Вы можете начать добавлять объекты и детали на ландшафт, настраивать освещение и Post Process. Есть еще много разных вещей, которые Вы, возможно, захотите сделать с ландшафтом. Например, хорошей идеей будет сделать низкополигональную геометрию ландшафта, чтобы визуально расширить его границы. Продолжайте экспериментировать и Вы получите нужный результат. Я надеюсь, Вы нашли здесь полезную информацию, которая поможет Вам создавать собственные миры в UE4.

Комментировать
4 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
Adblock detector