В этой статье покажу как можно легко и непринужденно создать анимацию флага при помощи простого шейдера ! Для работы нам потребуется спрайт флага.
Единственное что надо сделать - добавить свободного места в спрайт. У меня в итоге получилось вот так : Закидываем картинку в годо, подключаем шейдер.
И начинаем накидывать код. Для начала пустим основную волну. Для этого возьмем горизонтальный градиент с UV.x, и размножим его при помощи синуса.
Подадим это всё в COLOR и сможем рассмотреть нашу черно белую волну. Чтобы наш спрайт изгибался при помощи этой волны надо подмешать её в UV оригинального спрайта.
Делается это просто : Тут я сразу поделил значение волны на 20, потому что иначе спрайт будет слишком сильно модифицирован. Давайте заставим нашу волну двигаться. Для этого прикрутим TIME в синус. Получилось вполне неплохо. Но представим что у нас есть флагшток слева, и левая часть флага должна быть зафиксирована.
Для решения этой задачи мы можем снова взять горизонтальный градиент с UV и