Как прошло мое знакомство с Shader Graph Unigine2 и мой первый материал "Hologram material".


photo

Recommended Posts

Доброго времени, чумбы! В общем я решил поделиться небольшим опытом в создании материала с использованием шейдер графа Unigine2. Сейчас нет возможности создавать фреймы и давать описание, поэтому я сделаю все кратко и приложу графы, чтобы вы сами могла поковыряться. 

1. Самая основная проблема с которой я столкнулся, это альфа версия самого графа. Нет никакой wiki по назначению той или иной ноды (о значении я догадывался лишь по названию), некоторые названия сокращены и догадаться об их назначении достаточно тяжело. У меня ушел целый день, чтобы более или менее доделать свой материал. Долго не всегда потому, что приходилось подбирать наугад, а чаще из-за того, что вылеты из движка были частым гостем в этот период (это еще тестовая версия).

2. я сравнивал с тем же редактором материалов но UE4. Первое, что меня удивило, это векторные значения везде... Если в UE4 векторные направления вы встретите не во всех нодах например ноды отвечающие за пространство UV, то тут это сама суть. Привычные многим художникам RGBA - XYZW. Лишь у Sample2D ноды вы встретите привычные обозначения. Как оказалось... Это охренительно удобно! Ведь там всюду формулы и совершать математические вычисления со знаками XYZW куда проще, чем с RGBA. Достаточно посмотреть на view cube в самом редакторе мира и вы поймете. В будущем разработчики добавят подобную подсказку и в сам редактор (я думаю). 

И так мы уже готовы к вылетам, познакомились с философией данного графа, теперь пора чего нибудь сделать ) 

Мне понадобился panner, я посмотрел гайд по данной функции в учебнике разработчиков https://developer.unigine.com/en/docs/future/content/materials/graph/samples/uv_panner/?rlang=cpp и понял, что мне нужно, что-то, что  будет удовлетворять моим задачам, что будет похоже на то, с чем я ранее привык работать. Поэтому я пошел и сделал таким, каким мне надо. Можн оеще сильнее усовершенствовать, но пока без документации, я имею вполне годный инструмент (ниже я его прикреплю).

uc?id=1SWzl1kMo2WkXzA2uR0XE3LD5f4fNmRjh

Далее я пошел пилить Subgraph для Linear Gradient. В UE4 эта функция есть из коробки, тут ее пришлось сделать самому, благо не долго )))

uc?id=1tOFsrT4BPmbnzyH8V5_MYqX3Q6ZShXKL

Это банальный инструмент, который позволяет получать линии в пространстве 2d координат. Более одной линии не нужно, так как дальше включается panner, который за счет своей математики, выдаст нам столько линий, сколько мы захотим - я заблочил константами множители.

Вот и сам материал. Я сделал несколько итераций. По непонятным для меня причинам, я не смог сделать умножение френеля на линии в opacity, т.е. я понимаю какой мне нужен был эффект, но в отличии от френеля в UE4 этот множиться на мои "полоски" отказался. Возможно я найду решение позже, или кто-то из вас это сделает.Обязательно напишите )
Тестовое видео.

image.thumb.png.89690ec41282929c6edbfad3768772af.png

P.s. Сейчас инструмент сырой и много чего в нем не хватает. Я рекомендую вам создавать крутые сабграфы и делиться ими с другими, чтобы на финальном билде, многие из них смогли войти в стоковый набор. Ведь круто, когда у тебя есть все готовые базовые инструменты и тебе не надо тратить время неа их создание )

Сильно меня не унижайте, а за лайкосики всегда спасибо )))

Вам понадобится SDK и гайды по установке https://developer.unigine.com/forum/topic/7190-experimental-sdk-build-new-node-based-material-editor-with-sample-contents/

 

 

Holo1.rar Linear_Gradient.rar Panner.rar Holo_2.rar

  • Like 8
  • Thanks 5
Link to post