Решение "Шейдер энергии"
Чтож, иногда задачи должны быть относительно простыми. Такой шейдер это отличное базовое упражнение на работу с шейдерами. А теперь обоснование.
Его можно сделать по разному. Самое простое решение предлагали, и я покажу. Ну только чуть-чуть иначе. В этой статье я когда-то описывал одно довольно удобное уравнение — уравнение плоской волны. Выглядит оно примерно так.
Aresult = A * cos(2 * PI *(x / waveLength – t * frequency));
где:
Aresult – амплитуда в точке x, в момент времени t
А – максимальная амплитуда
wavelength – длина волны
frequency – частота волны
PI – число ПИ = 3.14159 (float).
В целом достаточно перенести это уравнение взяв uv координаты модели. И из важного что в шейдерграф надо знать — это Split Node, которая позволяет разбить на разные компоненты векторы. Так как при реализации по двум компонентам у вас будут волны идти крест накрест.
На самом деле этот эффект элементарный, но используется в реализации волн от ударов, голограмм в баннерах и многом другом. И полезно знать уравнение плоской волны.
Задачей со звёздочкой, которой кто-то может захочет заняться — сделать это без uv. Для этого нужно знать одну вещь, что такое трипланарные шейдеры. И сделать это именно шейдерграфов. Для спецов в шейдерах это максимум полезная разминка. А для тех кто учится писать шейдеры модифицировать граф выше, чтобы получить результат может быть сложной и интересной задачкой. Собственно ссылка которая вам поможет.
#задачка
Post #648
1.03K
Григорий Дядиченко Задача "Шейдер энергии" Давайте ещё потихоньку начнём играться с шейдерами. Поставим задачку на казалось бы простой, но довольно важный эффект. Напишите шейдер, который позволяет пускать градиент такого вида, как на видео. В нём должна быть возможность регулировать…
- 👍 5