Как удобно настроить редактор материалов Unreal Engine 5 и кастомизировать горячие клавиши
Питер Анкерман — старший технический художник и специалист по шейдингу в CD Projekt 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
Настройки горячих клавиш редактора материалов
В 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.
Настройки Live Update
Кликните на иконку Live Update — маленький телевизор с круговой стрелочкой, поставьте галочку напротив:
Preview Material
Realtime Nodes
All Node Previews
Горячие клавиши вьюпорта редактора материалов
Если хотите, можете настроить ещё эти функции:
Поворот 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
Как настроить быстрое изменение цвета Directional Light
Создайте ноду Custom
Выберите ноду Custom и откройте Detail Panel
Вставьте «return View.DirectionalLightColor;» в поле Code
Убедитесь, что Output Type установлен на CMOT Float 3 (или на CMOT Float 4, если вы хотите иметь альфа-канал цвета для Directional Light)
В поле Description впишите название ноды (например, «LightColor»)
Удалите Inputs
Как настроить кастомизацию ноды с несколькими аутпутами
Создайте ноду 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
На YouTube-канале Питера Анкерамана можно посмотреть ролики с похожими гайдами.
Материал подготовлен командой XYZ Media.
Лига Разработчиков Видеоигр
7.1K постов22.3K подписчик
Правила сообщества
ОБЩИЕ ПРАВИЛА:
- Уважайте чужой труд и используйте конструктивную критику
- Не занимайтесь саморекламой, пишите качественные и интересные посты
- Никакой политики
СТОИТ ПУБЛИКОВАТЬ:
- Посты о Вашей игре с историей её разработки и описанием полученного опыта
- Обучающие материалы, туториалы
- Интервью с опытными разработчиками
- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе
НЕ СТОИТ ПУБЛИКОВАТЬ:
- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры
- Посты, единственная цель которых - набор команды для разработки игры
- Посты, не относящиеся к тематике сообщества
Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.
ЗАПРЕЩЕНО:
- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции
- Выдавать чужой труд за свой
Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.
О РАЗМЕЩЕНИИ ССЫЛОК:
Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:
- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества
- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз
- Cсылка размещается в формате: "Страница игры в Steam: URL"