AlexMakesVFX
108 subscribers
105 photos
31 videos
59 links
Visual effects and shaders in gamedev
Download Telegram
Simple Noise и Gradient Noise
#fundamental #shader
в #Unity есть две ноды, генерирующие шум. Обе текстуры не имеет краев и повторений.

Simple Noise -более легкий вариант.
Забавный факт- генерирования простого шума стоит меньше, чем сэмплирование готовой текстуры. и это очень круто! Раньше я считал(исходя из разных источников), что сэмплирование будет всегда эффективнее.

Gradient Noise - более тяжелая версия, но дающая более интересные вариации шума. известен так же как Perlin noise.
она уже стоит чуть больше или примерно столько же, сколько и сэмплирование текстуры.
Hash type везде стоит оставлять значением по умолчанию - deterministic. другой тип оставлен просто для совместимости с предыдущими версиями
Так же стоит отметить о приведенных примерах создания вариаций текстуры шума с помощью математических операций c uv -картой шума. тут надо помнить что при умножения 4мерного вектора его нужно умножать на 4 мерный, чтобы получить различные результаты по разным направлениям и растянуть по какой-то оси.
🔥5
Стилизованные огонечки с помощью процедурной текстуры voronoi и текстуры шума для большего рандома
🔥3
небольшой разбор первого эффекта из предыдущего поста.
Собрано в  VFX graph
в качестве меша для частиц используется сфера, для которой используется кастомный шейдер. в нем же идет измение вертексов у сферы с помощью шума, чтобы были разные вариации и так же сама основная форма задается уже во фрагментном шейдере с помощью текстуры вороной. далее в самой системе частиц происходит измение прозрачности в зависимости от времени существования частицы
🔥4
потихоньку хочется разгонять и начинать писать про более сложные штуки,но, пожалуй, еще хочется осветить более простые и очевидные вещи для начала. например, как сделать простой крутящийся круг под ногами- даже у этого есть несколько вариантов исполнения - как с помощью частиц так и просто ручками все сделать. да и в тех же частицах есть разные способы. тут вот можно заметить, что кружок заходит на ногу у манекена- кто скажет, почему?)
🔥3
в данном и предыдущем примере круги под персонажем выполены через #VFXgraph. только в посте выше используются встроенные в graph декали, а в данном примере - просто обычная плоскость но в том же VFX graph (кольца два, поэтому и графа два).
🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
Раньше систему частиц я представлял как что-то совсем отдельное, сейчас же со временем начал их воспринимать больше как «продвинутый аниматор с процедурной анимацией», и, разобравших в составных частях, с помощью системы частиц можно намного проще сделать вещи, которые при ручной анимации заняли бы намного больше времени.
🔥31
This media is not supported in your browser
VIEW IN TELEGRAM
еще пример применения нойза и эффекта distortion
🔥31
This media is not supported in your browser
VIEW IN TELEGRAM
#разбор вот такого вот #shader ’a для стилизованной лавы/воды.
Шейдер можно разделить на две основные части- это создание основной текстуры с помощью наложения двух текстур нойза, двигающихся со временем, и добавление кромки воды в местах соприкосновения плоскостей с помощью нод Scene Depth  и Screen Position (про это отдельно еще поговрим, весьма нужный и полезный эффект)
скрин с шейдером в нормальном качестве в комментарии
🔥52
This media is not supported in your browser
VIEW IN TELEGRAM
нашел тут в старом проекте вот такой водопадик
3🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
тест для эффекта появления. над анимацией и скоростью еще нужно поработать…
🔥41
пройдемся по #fundamental’ным вещам и сделаем #разбор самого простого эффекта появления или исчезновения.
нужна всего лишь одна текстура шума - можно использовать готовую, или взять процедурный. можно даже самому нарисовать чб текстурку любую.
нужно включить параметр alpha clipping- его-то мы и будем анимировать.
в примере два варинта- базовый и чуть измененный- с помощью затенения с одной стороны, чтобы придать направление эффекту.
если совсем по-простому. там где чернее- будет исчезать первым) если нужно направление - тут очень важно, как у вашего объекта сделана развертка.
дальше просто анимируем парметр clip.
это можно делать вручную, аниматором или кодом, или задать зависимость от жизни частицы, если реализовано через граф
🔥71
https://danielilett.com/2021-05-20-every-shader-graph-node/
В добавлении к node reference, о которой говорил ранее, хотел бы еще прикрепить вот эту полезную статью, в которой так же разбирается каждая нода, плюс у него есть видео. на полтора часа почти. эпизодически к нему возвращаюсь.

вообще, я очень люблю, когда изучаю какой-то софт или тему - сначала узнать о всех возможностях, чтобы потом, когда потребуется что-то сделать- вспомнить - вернуться и пересмотреть.
🔥5
у unity есть публичная roadmap на все основные и интересные нам вещи- shader и vfx graph.
пользуюсь ей, чтобы посмотреть, что я уже успел пропустить или что стоит ждать.

https://portal.productboard.com/unity/1-unity-platform-rendering-visual-effects/tabs/9-vfx-graph
7