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
https://danielilett.com/2021-05-20-every-shader-graph-node/
В добавлении к node reference, о которой говорил ранее, хотел бы еще прикрепить вот эту полезную статью, в которой так же разбирается каждая нода, плюс у него есть видео. на полтора часа почти. эпизодически к нему возвращаюсь.
вообще, я очень люблю, когда изучаю какой-то софт или тему - сначала узнать о всех возможностях, чтобы потом, когда потребуется что-то сделать- вспомнить - вернуться и пересмотреть.
В добавлении к node reference, о которой говорил ранее, хотел бы еще прикрепить вот эту полезную статью, в которой так же разбирается каждая нода, плюс у него есть видео. на полтора часа почти. эпизодически к нему возвращаюсь.
вообще, я очень люблю, когда изучаю какой-то софт или тему - сначала узнать о всех возможностях, чтобы потом, когда потребуется что-то сделать- вспомнить - вернуться и пересмотреть.
🔥5
у unity есть публичная roadmap на все основные и интересные нам вещи- shader и vfx graph.
пользуюсь ей, чтобы посмотреть, что я уже успел пропустить или что стоит ждать.
https://portal.productboard.com/unity/1-unity-platform-rendering-visual-effects/tabs/9-vfx-graph
пользуюсь ей, чтобы посмотреть, что я уже успел пропустить или что стоит ждать.
https://portal.productboard.com/unity/1-unity-platform-rendering-visual-effects/tabs/9-vfx-graph
❤7