unguryanov.igor Posted February 9, 2021 Posted February 9, 2021 Доброго времени, чумбы! В общем я решил поделиться небольшим опытом в создании материала с использованием шейдер графа 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 и понял, что мне нужно, что-то, что будет удовлетворять моим задачам, что будет похоже на то, с чем я ранее привык работать. Поэтому я пошел и сделал таким, каким мне надо. Можн оеще сильнее усовершенствовать, но пока без документации, я имею вполне годный инструмент (ниже я его прикреплю). Далее я пошел пилить Subgraph для Linear Gradient. В UE4 эта функция есть из коробки, тут ее пришлось сделать самому, благо не долго ))) Это банальный инструмент, который позволяет получать линии в пространстве 2d координат. Более одной линии не нужно, так как дальше включается panner, который за счет своей математики, выдаст нам столько линий, сколько мы захотим - я заблочил константами множители. Вот и сам материал. Я сделал несколько итераций. По непонятным для меня причинам, я не смог сделать умножение френеля на линии в opacity, т.е. я понимаю какой мне нужен был эффект, но в отличии от френеля в UE4 этот множиться на мои "полоски" отказался. Возможно я найду решение позже, или кто-то из вас это сделает.Обязательно напишите )Тестовое видео. 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 9 5
Recommended Posts