один из самых распространенных способов искажение изображения с помощью текстуры шума.
область примения весьма обширна, оч часто можно наблюдать в текущих жидкостях)
описание - в следующем посте
область примения весьма обширна, оч часто можно наблюдать в текущих жидкостях)
описание - в следующем посте
🔥4
Разбор эффекта Distortion.
#fundamental #shader
Весь эффект можно разделить на 3 части.
по сути мы искажаем с помощью текстуры шума uv- карту другой текстуры.
на картинке это происходит посередине, с помощью ноды сложения (Add).
все, что идет до этого - делает так, чтобы шум двигался во времени и задает ему направление с помощью 2мерного вектора скорости.В данном примере используется процедурный шум Simple noise. Можно использовать затайленную готовую текстуру шума небольшого размера.
в третьей части мы просто добавляем с помощью ноды умножения(Multiply) цвет к исходной текстуре.
#fundamental #shader
Весь эффект можно разделить на 3 части.
по сути мы искажаем с помощью текстуры шума uv- карту другой текстуры.
на картинке это происходит посередине, с помощью ноды сложения (Add).
все, что идет до этого - делает так, чтобы шум двигался во времени и задает ему направление с помощью 2мерного вектора скорости.В данном примере используется процедурный шум Simple noise. Можно использовать затайленную готовую текстуру шума небольшого размера.
в третьей части мы просто добавляем с помощью ноды умножения(Multiply) цвет к исходной текстуре.
🔥3
Simple Noise и Gradient Noise
#fundamental #shader
в #Unity есть две ноды, генерирующие шум. Обе текстуры не имеет краев и повторений.
Simple Noise -более легкий вариант.
Забавный факт- генерирования простого шума стоит меньше, чем сэмплирование готовой текстуры. и это очень круто! Раньше я считал(исходя из разных источников), что сэмплирование будет всегда эффективнее.
Gradient Noise - более тяжелая версия, но дающая более интересные вариации шума. известен так же как Perlin noise.
она уже стоит чуть больше или примерно столько же, сколько и сэмплирование текстуры.
Hash type везде стоит оставлять значением по умолчанию - deterministic. другой тип оставлен просто для совместимости с предыдущими версиями
Так же стоит отметить о приведенных примерах создания вариаций текстуры шума с помощью математических операций c uv -картой шума. тут надо помнить что при умножения 4мерного вектора его нужно умножать на 4 мерный, чтобы получить различные результаты по разным направлениям и растянуть по какой-то оси.
#fundamental #shader
в #Unity есть две ноды, генерирующие шум. Обе текстуры не имеет краев и повторений.
Simple Noise -более легкий вариант.
Забавный факт- генерирования простого шума стоит меньше, чем сэмплирование готовой текстуры. и это очень круто! Раньше я считал(исходя из разных источников), что сэмплирование будет всегда эффективнее.
Gradient Noise - более тяжелая версия, но дающая более интересные вариации шума. известен так же как Perlin noise.
она уже стоит чуть больше или примерно столько же, сколько и сэмплирование текстуры.
Hash type везде стоит оставлять значением по умолчанию - deterministic. другой тип оставлен просто для совместимости с предыдущими версиями
Так же стоит отметить о приведенных примерах создания вариаций текстуры шума с помощью математических операций c uv -картой шума. тут надо помнить что при умножения 4мерного вектора его нужно умножать на 4 мерный, чтобы получить различные результаты по разным направлениям и растянуть по какой-то оси.
🔥5
Стилизованные огонечки с помощью процедурной текстуры voronoi и текстуры шума для большего рандома
🔥3
небольшой разбор первого эффекта из предыдущего поста.
Собрано в VFX graph
в качестве меша для частиц используется сфера, для которой используется кастомный шейдер. в нем же идет измение вертексов у сферы с помощью шума, чтобы были разные вариации и так же сама основная форма задается уже во фрагментном шейдере с помощью текстуры вороной. далее в самой системе частиц происходит измение прозрачности в зависимости от времени существования частицы
Собрано в VFX graph
в качестве меша для частиц используется сфера, для которой используется кастомный шейдер. в нем же идет измение вертексов у сферы с помощью шума, чтобы были разные вариации и так же сама основная форма задается уже во фрагментном шейдере с помощью текстуры вороной. далее в самой системе частиц происходит измение прозрачности в зависимости от времени существования частицы
🔥4
потихоньку хочется разгонять и начинать писать про более сложные штуки,но, пожалуй, еще хочется осветить более простые и очевидные вещи для начала. например, как сделать простой крутящийся круг под ногами- даже у этого есть несколько вариантов исполнения - как с помощью частиц так и просто ручками все сделать. да и в тех же частицах есть разные способы. тут вот можно заметить, что кружок заходит на ногу у манекена- кто скажет, почему?)
🔥3
в данном и предыдущем примере круги под персонажем выполены через #VFXgraph. только в посте выше используются встроенные в graph декали, а в данном примере - просто обычная плоскость но в том же VFX graph (кольца два, поэтому и графа два).
🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
Раньше систему частиц я представлял как что-то совсем отдельное, сейчас же со временем начал их воспринимать больше как «продвинутый аниматор с процедурной анимацией», и, разобравших в составных частях, с помощью системы частиц можно намного проще сделать вещи, которые при ручной анимации заняли бы намного больше времени.
🔥3❤1
This media is not supported in your browser
VIEW IN TELEGRAM
еще пример применения нойза и эффекта distortion
🔥3❤1
This media is not supported in your browser
VIEW IN TELEGRAM
#разбор вот такого вот #shader ’a для стилизованной лавы/воды.
Шейдер можно разделить на две основные части- это создание основной текстуры с помощью наложения двух текстур нойза, двигающихся со временем, и добавление кромки воды в местах соприкосновения плоскостей с помощью нод Scene Depth и Screen Position (про это отдельно еще поговрим, весьма нужный и полезный эффект)
скрин с шейдером в нормальном качестве в комментарии
Шейдер можно разделить на две основные части- это создание основной текстуры с помощью наложения двух текстур нойза, двигающихся со временем, и добавление кромки воды в местах соприкосновения плоскостей с помощью нод Scene Depth и Screen Position (про это отдельно еще поговрим, весьма нужный и полезный эффект)
скрин с шейдером в нормальном качестве в комментарии
🔥5❤2
This media is not supported in your browser
VIEW IN TELEGRAM
нашел тут в старом проекте вот такой водопадик
❤3🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
тест для эффекта появления. над анимацией и скоростью еще нужно поработать…
🔥4❤1
пройдемся по #fundamental’ным вещам и сделаем #разбор самого простого эффекта появления или исчезновения.
нужна всего лишь одна текстура шума - можно использовать готовую, или взять процедурный. можно даже самому нарисовать чб текстурку любую.
нужно включить параметр alpha clipping- его-то мы и будем анимировать.
в примере два варинта- базовый и чуть измененный- с помощью затенения с одной стороны, чтобы придать направление эффекту.
если совсем по-простому. там где чернее- будет исчезать первым) если нужно направление - тут очень важно, как у вашего объекта сделана развертка.
дальше просто анимируем парметр clip.
это можно делать вручную, аниматором или кодом, или задать зависимость от жизни частицы, если реализовано через граф
нужна всего лишь одна текстура шума - можно использовать готовую, или взять процедурный. можно даже самому нарисовать чб текстурку любую.
нужно включить параметр alpha clipping- его-то мы и будем анимировать.
в примере два варинта- базовый и чуть измененный- с помощью затенения с одной стороны, чтобы придать направление эффекту.
если совсем по-простому. там где чернее- будет исчезать первым) если нужно направление - тут очень важно, как у вашего объекта сделана развертка.
дальше просто анимируем парметр clip.
это можно делать вручную, аниматором или кодом, или задать зависимость от жизни частицы, если реализовано через граф
🔥7❤1