Manual Distance Based Tessellation

При использовании материала с тесселяцией в UE4, адаптивная тесселяция включена по умолчанию. Хотя этот алгоритм screen-space делает серьезную работу, бывают ситуации, когда вы можете захотеть вручную установить коэффициент тесселяции или сделать его увеличивающимся на определенных дистанциях а не постоянно.
Для того чтобы показанные графы работали корректно, вам необходимо отключить параметр «Enable Adaptive Tessellation» в свойствах материала.
Данная настройка является самой простой, используя 3 параметра, 2 для тесселяции и один для контроля расстояния.

Image

[свернуть]
Для плавного перехода между обоими состояниями, делим расстояние на дополнительный параметр который исчисляется в мировых юнитах.
Image

[свернуть]
Для более же тонкого перехода, вы можете масштабировать величину displacement-а от расстояния. Чтобы это сделать, используем Lerp а для получения правильного сдвига геометрии, умножаем нашу связку на ваш World Displacement. Выглядит это так:
Image

[свернуть]
Если же вам нужно более 2 ступений для вашей тесселяции, вы можете просто добавить дополнительные связки Lerp.
Image

[свернуть]

Читайте также: