Еще один простейший параллакс шейдер

Очень эффектным выглядит использование шейдеров с эффектом параллакса при моделировании окон, когда при движении камеры по сцене вид из окна тоже немного смещается, создавая иллюзию большого открытого пространства за окном.

Добавим в сцену плоскость (shift + a – Mesh – Plain), которая будет имитировать окно, в редакторе шейдеров Shader Editor создадим новый материал и заменим нод Principled BSDF на нод Image Texture. В качестве текстуры выберем подходящее изображение.

Для того чтобы получить эффект параллакса, воспользуемся двумя нодами, Texture Coordinate и Geometry. С нода Texture Coordinate мы можем получить координаты точек наложения текстуры по развертке UV Map. А с нода Geometry, мы возьмем вектор Incoming, который направлен из точки взгляда (из камеры) на текущую точку шейдера.

Добавим эти два нода в наш шейдер: shift + a – Input – Texture Coordinate и shift + a – Input – Geometry.

Если взять разность этих двух векторов, мы сдвинем расположение текстуры с плоскости Plane в плоскость камеры.

Добавим нод Vector Math (shift + a – Converter – Vector Math) и переключим его в режим вычитания Subtract. Соединим его входы Vector с выходами UV Map нода Texture Coordinate и Incoming нода Geometry. Выход Vector соединим со входом Vector нода Image Texture, чтобы применить сделанную трансформацию координат к изображению.

Изображение уменьшилось в размерах, зато эффект параллакса заметен уже сейчас. Если подвигать камеру, которая смотрит на плоскость, видно, что изображение “плавает” относительно плоскости.

Осталось привести изображение к необходимым размерам. Для этого перед нодом Texture Coordinate вставим нод Mapping (shift + a – Vector – Mapping). Масштаб в поле Scale выставим равным 0.3 и сдвинем изображение на 0.4 по осям X и Y, указав это значение в поле Location.

Растянув изображение за границы плоскости мы создаем запас, который станет виден при смещении камеры.

Теперь при движении камеры относительно плоскости мы видим эффект параллакса.

Данная связка нод работает как в рендер-движке Cycles, так и в EEVEE.

5 1 голос
Article Rating
Подписаться
Уведомить о
guest

0 Комментарий
Межтекстовые Отзывы
Посмотреть все комментарии