Питер Анкерман — старший технический художник и специалист по шейдингу в CD Project RED, он работал в студиях Starbreeze, SumoDigital, Goodgame Studios, BigPoint, Pixonauts и SnapDragon Games — в общем, более 13 лет опыта.
Он рассказал, какие настройки и горячие клавиши редактора материалов облегчают ему работу в большой компании. Все перечисленные настройки — личное предпочтение автора. Мы перевели и адаптировали оригинальный материал.
Откройте вкладку Edit, потом Editor Preferences и введите «pan» в поиске.
Прокрутите вниз до Level Editor – Viewports, а потом в раздел Controls
Включите Invert Middle Mouse Pan, если хотите, чтобы перетаскивание работало как в Maya и Blender
Откройте Content Editor – Graph Editors и раздел General Style
Поменяйте Panning Mouse Button на Right or Middle, чтобы можно было использовать среднюю кнопку мыши для управления камерой в Blueprint и Material Editor как в Substance Designer или Blender
Скриншот из редактора материалов — вкладка Edit
В Editor Preferences введите в поиск «materials» и откройте раздел Material Editor.
Установите функции:
Start Previewing Node на клавишу R
Convert to Parameter на Ctrl+R
Convert to Named Reroute на Alt+R
Convert to Reroute на Shift+R
Home на Home
Select Downstream Nodes на Shift+E
Select Upstream Nodes на Shift+Q
Cylinder на Ctrl+1 и на Num1
Sphere на Ctrl+2 и на Num2
Plane на Ctrl+3 и на Num3
Cube на Ctrl+4 и на Num4
Mesh на Ctrl+5 и на Num5
В Editor Preferences наберите в поиске «graph», откройте General – Keyboard Shortcuts и зайдите в раздел Graph Editor.
Установите ноды:
Collapse Nodes на клавишу Alt+C
Expand Nodes на Alt+E
Distribute Horizontally на Alt+Shift+Q
Distribute Vertically на Alt+Shift+E
Откройте настройки вьюпорта в редакторе материала нажав кнопку c тремя горизонтальными линиями, расположенными друг над другом
Подключите Realtime
Установите значение Field of View (H) меньше 90 — как вам удобно
Настройки вьюпорта
Включите окна:
Window
Find Results
Preview Scene Settings
Parameters
Platform Stats
Stats
Откройте Shader Code и включите HLSL Code.
Вкладка Windows
Кликните на иконку Live Update — маленький телевизор с круговой стрелочкой, поставьте галочку напротив:
Preview Material
Realtime Nodes
All Node Previews
Иконка Live Update
Если хотите, можете настроить ещё эти функции:
Поворот Background назначить на клавишу K
Поворот Direction Light на L
Переключение Ground Plane на O
Переключение между изображением на заднем плане и плоским цветом на I
Переключение Post-process на P
Переключение Grid на Ctrl+G — но оно не работает в UE5
По умолчанию в редакторе материалов можно создавать большинство нод с помощью горячих клавиш. Но есть ноды, для которых изначально горячих клавиш нет — рассказываем, как их назначать.
Сначала нужно найти файл BaseEditorPerProjectUserSettings.ini.
Закройте Unreal Editor
Откройте установочную папку Unrel Engine. Далее в папку Engine и в Config.
Откройте файл BaseEditorPerProjectUserSettings.ini. Ищите MaterialEditorSpawnNodes или перейдите сразу на строку 826
Вставьте текст для настройки кастомизированной горячей клавиши: +Node=(Class=MaterialExpressionSaturate Key=S Shift=false Ctrl=falseAlt=True)+Node=Class=MaterialExpressionClamp Key=C Shift=false Ctrl=falseAlt=True)+Node=Class=MaterialExpressionCustom Key=E Shift=false Ctrl=falseAlt=True)+Node=Class=MaterialExpressionDotProduct Key=Period Shift=false Ctrl=falseAlt=False)+Node=Class=MaterialExpressionSubtract Key=Hyphen Shift=false Ctrl=falseAlt=False)+Node=Class=MaterialExpressionCrossProduct Key=X Shift=false Ctrl=falseAlt=False)+Node=Class=MaterialExpressionVertexColor Key=V Shift=false Ctrl=falseAlt=True)+Node=Class=MaterialExpressionVertexNormalWS Key=N Shift=false Ctrl=falseAlt=True)+Node=Class=MaterialExpressionWorldPosition Key=W Shift=false Ctrl=falseAlt=False)+Node=(Class=MaterialExpressionAbs Key=A Shift=false Ctrl=false Alt=True)+Node=(Class=MaterialExpressionTransform Key=T Shift=false Ctrl=falseAlt=True)+Node=Class=MaterialExpressionTransformPosition Key=T Shift=false Ctrl=TrueAlt=False)+Node=Class=MaterialExpressionAppendVector Key=Y Shift=false Ctrl=false Alt=False)
Сохраните изменения в файле *.ini
Запустите Unreal Editor, откройте Material Editor, удерживайте вашу новую горячую клавишу и наведите на график материала — у вас должна появиться новая нода.
Кодом выше вы назначите такие горячие клавиши:
Saturate — Alt+S
Clamp — Alt+C
Custom Expression — Alt+E
Dot Product назначена на точку, или на «Ю» в русской раскладке
Subtract назначена на дефис «-»
Cross Product — X
Vertex Color — Alt+V
Vertex Nomal (World Space) — Alt+N
Absolute World Position — W
Abs / Absolute — Alt+A
Transfrom Vector — Alt+T
Transfrom Postion — Ctrl+T
Append Vector — Y
Если хотите добавить свои собственные горячие клавиши, сначала нужно выяснить, какое название у ноды в коде. Часто это просто название ноды, как в интерфейсе, но иногда оно отличается. Важно, что голубые ноды функций с этими настройками не работают — работают только зелёные ноды.
Создайте ноду, к который хотите прикрепить горячую клавишу
Выберите ноду
Откройте Detail Panel
Название первого раздела это и есть название ноды «Material Expression %NodeName%». Например, для ноды Multiply — это Material Expression Multiply
Название ноды в коде
Напишите название в «Class=» без пробелов между словами
В «Key=» напишите клавишу, к которой хотите прикрепить ноду
Назначьте клавиши-модификаторы, если хотите
Код для назначения ноды должен выглядеть так:
+Node=(Class=MaterialExpression”Node Name” Key=”Shortcut” Shift=false Ctrl=false Alt=False)
Вместо Node Name введите имя ноды, а вместо Shortcut — нужную клавишу. Клавиши Shift, Alt и Ctrl добавятся к сочетанию, если вы измените значение с false на true.
Нода, которой можно вращать свет, работает с нанесённым материалом и без него, а чтобы она работала корректно, на уровне должен быть только один источник света — Directional Light.
Вращение вектора света
Выберите ноду Custom и откройте Detail Panel
Вставьте «return View.DirectionalLightDirection;» в поле Code
Убедитесь, что Output Type выставлено на CMOT Float 3
В поле Description впишите название ноды (например, LightVector)
Удалите Inputs
Чтобы выбрать направление, зажмите клавишу L
Создайте ноду Custom
Выберите ноду Custom и откройте Detail Panel
Вставьте «return View.DirectionalLightColor;» в поле Code
Убедитесь, что Output Type установлен на CMOT Float 3 (или на CMOT Float 4, если вы хотите иметь альфа-канал цвета для Directional Light)
В поле Description впишите название ноды (например, «LightColor»)
Удалите Inputs
Назначение цвета RGB
Создайте ноду Custom
Выберите ноду Custom и откройте Detail Panel
Вставьте код для Multi-Output Light Vector в поле Code
// Directional Light Vector Codereturn View.DirectionalLightDirection;
// Directional Light Color Codereturn View.DirectionalLightColor;
// Multi Output Light Vector Codefloat3 LV = View.DirectionalLightDirection;LC = View.DirectionalLightColor;SLC = View.SkyLightColor.rgb;return LV
Установите Output Type на CMOT Float 3
В поле Description впишите название ноды (например, «Light Vectors»)
Удалите Inputs
Далее в Additional Outputs создайте 2 новых элемента:
Разверните Index 0
Напишите «LC» в поле Output Name
Установите Output Type на CMOT Float 4
Разверните Index 1
Напишите «SLC» в поле Output Name
Установите Output Type на CMOT Float 3
Теперь у вас есть нода с тремя аутпутами: return, LC, SLC
На YouTube-канале Питера Анкерамана можно посмотреть ролики с похожими гайдами.