Наконец-то Displacement в Unreal Engine 5.3. Делаем за 5 минут

Наконец-то в Unreal Engine 5 появился Displacement. Можно делать его на уровне материалов и применять как к объектам так и к бесконечным ландшафтам.

Геометрия у Displacement создаётся не так же, как у Nanite, хоть и называется так же. В связи с этим, геометрия, созданная дисплейсментом, не влияет на угол отражения и блики, поэтому к материалу лучше применить карту нормалей. А так же, лично у меня, жёстко подвисает комп, если перемещать ИС вблизи геометрии с дисплейсментом. Скорее всего, в следующих версиях поправят.

Комментарии (11)

0
blendspace
круто, его можно было и раньше добавить с мануальным ремешером: https://youtu.be/rTnm8TDOcyY  – с 2.50, но это не гибко, не на лету, теперь всё конечно попроще будет, а если ещё и адаптивный прикрутят, чтобы тесселяция кластерами уменьшалась с дистанцией – вообще ницца станет )
0
Andrey3dm
В этом видео чел менял геометрию. А то, что сделали сейчас, это и есть адаптивный, достаточно просто материал применить хоть на бесконечный ландшафт, состоящий из одного полигона.
0
blendspace
не, это пока не адаптивный. суть адаптивного примерно как у нанитов на ближней/дальней дистанции, т.е. например плейн кластеризуется динамически и на клозапе может быть с очень плотной сеткой, а на дальней дистанции - десятком другим полигонов. чуть сложнее, чем адаптация сетки для адекватной передачи детализации карты материала

// ща поищу видос, покажу наглядно upd: вот, где-то с 7.25 https://youtu.be/mpyFn20FuJ0  – скринспейс/ворлдспейс адаптив + фриз для фиксации приемлемой тесселяции, - это важно, когда используется обычная геометрия без нанитов. да и с ними в общем-то тоже полезно будет )
0
Andrey3dm
Ну тут работает не как наниты, тк сетки как-бы вообще нет. В режиме Wire отображается как один полигон, хотя геометрия выпирает и тени отображаются. Чем это хуже нанитов?
0
blendspace
"как бы" не означает, что сетки нет, иначе не потребовалось бы ремешить раньше и не нужна бы была тесселяция нынче ) это не хуже и не лучше, это просто иная область применения в чём-то похожей технологии, предназначенной для оптимизации детализации материалом, а не хайполи-сетки как таковой нанитом )
0
Andrey3dm
То, что вы прислали на видео, где чел делает теселяцию - это вообще тупо создание геометрии и перевод её в нанит. Сейчас дисплейсмент работает подругому и кол-во виртуальных полигонов зависит от дистанции от камеры, как и у нанитов. Т.е. полигоны сейчас отображаются адаптивно ещё и при том, что нет никакой гигантской геометрии с применённой теселяцией.
0
blendspace
не об этом ли я сказал в самом начале, упоминая ремешер, гибкость и сравнивая с нынешней альтернативой? просто прежде для карты дисплейсмента сложнее было подбирать значение тесселяции и она оставалась фиксированной до следующей итерации, сейчас это делается проще и "на лету", причем сразу в материале, но насчёт адаптивности в её полноценном варианте я пока информации в мануале не видел. если добавили – значит отлично и ситуация уже ницца )
0
ViTcore
костыль на костыле и это не работает с LTSC виндой 1809
0
Andrey3dm
А в чём тут костыли? Обновляться нужно, в любом случае, что бы, как минимум, вирусы не словить и что бы драйвера новые фишки поддерживали.
0
SteamPunk
Лет пять назад, а то и больше пытался исполльзовать дисплейсмент для сцены с персонажем, смотрю ваш ролик и все так же персонаж висит в воздухе и не встает на поверхность, мне для игры никак не подходит такая шляпа. Наверно для визуалки кому то потянет, а так есть наниты и натуральная геометрия где персонаж будет вести себя адекватено. Так что
кому то пойдет но не всем, хотя так то не плохая вещь.
А еще - раньше если накидаешь камней, то переход между материалом камней и лэндскейпа очень заметен был - крайне не приятная вешь, теперь же есть виртуальная текстура которая делает блендинг между материалами и все выглядит очень не плохо, поэтому надобность в дисплейсменте отпадает, да и фпс он кушает.
0
Andrey3dm
Если сделать большой ландшафт в такой же детализации в натит, весить это будет сильно больше и фпс тоже будет кушать больше.