Найти в Дзене

№145. Работа с шеидером через код. Основы основ-2.

В прошлой статье мы рассмотрели как двигать целиком все пиксели и менять их цвет . В этой статье покажу как вывести значение переменных в редактор (например для связки с основным кодом), создадим простенький шейдер для пикселизации спрайта, и подключим текстуру шума для модификации изображения. Для того чтобы вывести значение переменной в редактор достаточно добавить слово uniform. После чего в меню материала в разделе Shader Param появится соответствующая переменная: Достучаться до этой переменной из общего кода можно при помощи material.set_shader_param("tile",1.0) ЭФФЕКТ ПИКСЕЛИЗАЦИИ. Помним, что UV координаты представляют из себя градиент. Соответственно всё что нам необходимо сделать — уменьшить «сглаживание» в этом градиенте. Для этого вполне подойдет round и простенькая формула. Создадим переменную grif в которую будем подавать округленные UV координаты. И выведем их сразу в COLOR для наглядности. Проверяем: Вроде всё как надо, подключаем новую UV в текстуру, и смотрим на резуль

Продолжаем…
В прошлой статье мы рассмотрели как двигать целиком все пиксели и менять их цвет .

В этой статье покажу как вывести значение переменных в редактор (например для связки с основным кодом), создадим простенький шейдер для пикселизации спрайта, и подключим текстуру шума для модификации изображения.

Для того чтобы вывести значение переменной в редактор достаточно добавить слово uniform.

После чего в меню материала в разделе Shader Param появится соответствующая переменная:

-2

Достучаться до этой переменной из общего кода можно при помощи material.set_shader_param("tile",1.0)

ЭФФЕКТ ПИКСЕЛИЗАЦИИ.

-3

Помним, что UV координаты представляют из себя градиент. Соответственно всё что нам необходимо сделать — уменьшить «сглаживание» в этом градиенте.

Для этого вполне подойдет round и простенькая формула.

Создадим переменную grif в которую будем подавать округленные UV координаты. И выведем их сразу в COLOR для наглядности.

-4

Проверяем:

-5

Вроде всё как надо, подключаем новую UV в текстуру, и смотрим на результат:

-6
-7

ЭФФЕКТ ВОЛНЫ.

Для следующего примера подключим шум, и посмотрим как он будет деиствовать на наш спрайт.

Выводим переменную типа Sampler2D:

-8

Накидываем в эту переменную шум:

-9

Для того чтобы увидеть шум на спрайте — просто подключаем его в цвет:

-10

Настраиваем его по желанию. И далее подмешиваем его к координатам UV.

-11

Чуть убавим влияние шума , добавим сдвиг по оси Х и получим вот такое колыхание текстуры (незабудьте поставить галочку возле seamless в настройках шума):

-12
-13

Надеюсь вам был полезен этот материал.
Подписывайтесь на канал,
вступайте в группу в ВК, и не забывайте что у нас есть дискорд сервер.
Удачи в изучении годо !

#godot #gdscript #игровой движок #уроки #программирование