Горячие клавиши в UE4 для дизайнера
Всем привет, меня зовут Якуб Пандер. Я гейм и левел дизайнер в Carbon Studio, мы создаем VR игры для различных платформ. Сегодня я бы хотел поделиться с вами всем тем, что я узнал за три года изучения Unreal Engine 4. Поговорим о том, как дизайнеру оптимизировать рабочий процесс при помощи горячих клавиш и прочих удобных фишек. Идея создания этой статьи возникла, когда я писал e-mail своим студентам, в то время как они еще только начинали разрабатывать прототипы своих самых первых уровней. Из-за отсутствия опыта некоторые из них столкнулись с трудностями в самых базовых вещах и задавали вопросы типа: "Как расположить блоки в идеальной пиксельной сетке?", "Как мне перенести половину уровня немного выше?", "Мне правда нужно копировать этот временный элемент по частям?" и многие подобные. С самого начала моего знакомства с Unreal я пытался найти хоть что-нибудь, что помогло бы мне эффективно выполнять самые базовые задачи. Поэтому, за многие месяцы, у меня накопилось некоторое количество полезных горячих клавиш и подсказок.
Я выделил две категории — Базовые и Продвинутые горячие клавиши. В Базовой категории будут материалы для тех, кто только начинает или имеет небольшой опыт работы с UE4. Продвинутая категория предназначена для тех, кто уже знаком с UE4 и неплохо в нем разбирается, но хочет улучшить навыки.
Горячие клавиши
Выделение (Selection):
Выделение, группирование, организация ассетов (в основном мешей) — самые базовые инструменты для облегчения рабочего процесса. Вот, на мой взгляд, самые полезные команды:
Базовые:
- Группирование (Group & Ungroup) [Ctrl +G / Shift + G]
Она позволяет формировать ассеты в группы для дальнейшего использования или упорядочивать части уровня.
- Unlock & Lock (RMB -> Group)
Unlock позволяет перемещать или удалять отдельные ассеты. Lock — снова объединяет ассеты вместе.
- Сделать уровень объекта активным (Make Current Level) [M]
Забыли на каком уровне находится ваш ассет? Просто нажмите [M] и движок сделает активным тот уровень, на котором находится выбранный объект.
- Выделить все (Select All) [Ctrl + A]
Наверняка многие уже знакомы с этой комбинацией, и она может показаться здесь не к месту, но попробуйте сперва скрыть лишний ассет, а затем нажать Ctrl + A. Это также очень удобно в сочетании с Select by class (Выделить все объекты класса [Ctrl + Shift + A]).
Продвинутые:
- Выделить все объекты класса и инвертировать выделение (Select by class & Invert selection) [RMB -> Select -> Select Matching (Selected Class)]
Хотите выделить только блупринты дверей и ничего больше? Пожалуйста. Можно ли выделить все с помощью материала “M_SelectMe”? Конечно. Но я хочу выделить все, кроме блупринтов дверей! Без проблем.
Эта команда будет полезной в определенных случаях, когда вы хотите выделить больше объектов с общими элементами (это может быть тот же блупринт, может использоваться тот же материал и т.д.).
Трансформирование (Transform):
Transform — основа левел дизайна в UE4. Освоив его, вы будете работать на 200% быстрее!
Базовые:
- Переключение режимов трансформирования (Cycle transform) [SPACE] & [W/E/R]
Поскольку вы, как левел дизайнер, постоянно будете переключаться (каждые несколько секунд) между перемещением [W], вращением [E] и масштабированием [R] объекта, нет смысла менять эти горячие клавиши на какие-либо другие. Лучше всего использовать стандартную комбинацию [W/E/R] или [SPACE].
- Мировая/Локальная трансформация (World/Local Transformation) [CTRL+’]
В данном примере мне нужно переместить объект влево, но не по отношению к миру, а по отношению к самому объекту, к его локальным координатам. Это очень удобно, когда вращение объекта (или чего-то еще) совершается не по отношению к миру.
На русской клавиатуре движок думает, что апостроф — это буква "Э", поэтому стандартная комбинация горячих клавиш не работает, в настройках вы можете назначить свою комбинацию. Editor Preferences > Keyboard Shortcuts > Common Viewport Commands > Cycle Transform Coordinate System.
- Привязка к полу (Snap to floor) [END]
Этот куб должен стоять на земле, верно? Но не стоит подгонять его к полу вручную, достаточно просто нажать [END] и все будет сделано (но при условии, что коллизия пола и куба настроены верно). Также вы можете найти в этом разделе другие полезные функции привязки: [RMB -> Transform -> Snap/Align].
Продвинутые:
- Привязка к сетке (Snap Origin to grid) [Ctrl+END]
Хотите построить идеальный пиксельный лабиринт? Вам нужно сделать следующее:
Учитывайте правильный масштаб объектов, чтобы верно их расположить.
- Изменение расположения пивота (Set pivot position) [RMB -> pivot -> Set pivot offset here]
Иногда размещение объекта может вызвать сложности, даже если его пивот расположен в правильном месте. Почему бы нам не поместить его в другое место? Например, мы могли бы разместить пивот там, где мы только что кликнули мышью [Alt+Middle Mouse Button] или поместить его куда захотим, перетащив средней кнопкой мыши.
- Изменить значение трансформации (Increase transform value)
Перемещение объекта в определенное расстояние, например на 165 единиц, может быть выполнено путем изменения значения на вкладке Details, но что, если объект уже повернут на две оси? С помощью World/Local Transformation мы знаем, что можем переместить его в нужном направлении, но как это сделать, не меняя значение трансформации по нескольку раз? Создайте горячую клавишу, которая увеличивает и уменьшает значение трансформации.
Вы также можете изменить дефолтные значения: Editor Preferences > Level Editor > Viewport > Grid Snapping.
- Привязка актера (Attach actor) [RMB -> Attach to -> type the object’s name/select it with the picker]
Привязка актера может быть полезной в некоторых случаях, вы потом сами поймете, где лучше это применить, после того как вообще разберетесь с этим процессом. Просто помните о том, что у обоих объектов должны быть одинаковые настройки мобильности (static/moveable).
Ориентация:
Здесь я опишу некоторые приемы ориентации, которые помогут вам при проверке, редактировании и демонстрации ваших уровней.
Базовые:
- Фокус (Focus) [F]
Допустим, вам нужен конкретный объект в World outliner, но вы думаете, что он так далеко, что потребуется несколько секунд, чтобы до него добраться? Нажмите [F]. Если вы уже выбрали нужный объект, но каким-то образом оказались далеко от него, вы можете нажать [F] — это сфокусирует камеру на выбранном объекте и сразу же переместит туда камеру, чтобы вы могли видеть его прямо перед собой.
- Игровой режим (Game View) [G]
Это просто. Нажатие клавиши [G] скрывает все полезные инструменты на экране (сетки, пивоты, контуры, значки и многое другое). Позволяет увидеть уровень таким, каким он будет выглядеть в игре.
- Установить контрольную точку для камеры (Set camera) [Ctrl + 1-9]
Вы создали фантастический, огромный уровень, прохождение которого от начала до конца занимает гораздо больше времени, чем кто-то хотел бы на него потратить. Сделать этот процесс проще для всех (включая себя) можно создав “контрольные точки” в самых значимых областях. Например, [Ctrl + 1] можно установить на начало уровня. 2-8 могут быть другими важными точками в процессе прохождения уровня, и, наконец, 9 должна быть в конце. Это сделает передвижение по уровню намного проще.
- Полноэкранный режим (Fullscreen) [F11]
Уровень будет воспроизводиться, тестироваться, демонстрироваться и проверяться в полноэкранном режиме гораздо лучше, поверьте мне!
Дополнительный совет: [Shift + F11] — редактор перекроет панель задач.
Продвинутые:
- Выделить полупрозрачный объект (Translucent selection) [T]
Вы когда-нибудь оказывались в ситуации, когда хотите нажать на меш в окне просмотра, но случайно выбираете что-то другое вместо него? Или, может быть, вы хотите щелкнуть на определенный полупрозрачный меш, но курсор выбирает объект за ним? Все дело в Translucent Selection! С помощью [T] можно включать и выключать выбор прозрачных объектов. Теперь вы можете щелкнуть на стекло, воду, божественные лучи (God Rays) и другие полупрозрачные объекты.
- Режимы просмотра (View Modes)
Это будет очень полезно в различных ситуациях, поэтому неплохо было бы побольше о этом узнать.
- Отобразить навигацию (Show navigation) [P]
В проектах, где используется навигация Unreal, важно знать, что ни один объект не блокирует путь AI или игрока.
- Perspective/side/top/front view [Alt + G/K/H/J]
Если вам необходима идеальная точность при построении уровня, эти различные перспективы могут быть для вас полезны.
- Привязка объекта к просмотру (Snap object to view and view to object)
Этот совет оказался для меня особенно полезным, когда я хотел разместить камеру на сцене в то место, куда в данный момент смотрел. Привязка выбранного объекта к камере изменяет не только его местоположение, но и вращение, поэтому вышеуказанная камера будет смотреть именно туда, куда вы смотрели во вьюпорте.
Прочее:
Также я нашел для вас еще несколько горячих клавиш, которые не совсем соответствуют первым трем категориям, описанным выше, но тоже очень полезны.
- Редактирование ассета (Edit the asset) [2x LMB по иконке]
Я много раз наблюдал за тем, как мои коллеги ищут ассет в контент браузере, а затем возникает еще одна проблема — кликнуть на нем дважды. Вам просто нужно щелкнуть два раза на изображение/иконку материала/меша/текстуры и необходимость искать все это в контент браузере отпадет.
- Найти ассет в контент браузере (Find asset in Content Browser) [Ctrl + B]
К теме о контент браузере, эта горячая клавиша пригодится для поиска выбранного ассета и папки, где он находится.
- Найти в Level Blueprint (Find in level Blueprint)
Здесь нет комбинации горячих клавиш по умолчанию, но я предлагаю создать свою собственную в настройках редактора. Это позволит вам автоматически искать выбранный объект на Level Blueprint и видеть его референсы.
- Play — Simulate [Alt + P/Alt + S]
Чтобы не нажимать постоянно мышью на кнопку "play", я рекомендую создать для этого свои горячие клавиши. Например, я использую [Alt + Q], чтобы запустить уровень в VR, [Alt + S] для симуляции, [Alt + P] для воспроизведения в редакторе (но не просто запустить в выбранном вьюпорте, уровень запустится в VR только если предыдущий запуск был в VR режиме).
- Открыть уровень (Open level) [Ctrl + O]
Как и в вышеуказанном примере, эта комбинация позволяет быстро и легко открывать уровни.
- Show references [Alt + Shift + R]
Проверьте референсы к другим блупринтам, уровням, материалам и т.д. Эта комбинация быстро найдет все взаимодействия с выбранным ассетом.
- Переключение между вкладками (Tab Navigation) [Ctrl + Tab]
Если у вас множество открытых вкладок (материалы, меши, блупринты и т. д.), вы можете прокручивать их так же, как и на рабочем столе, но при нажатии клавиши Ctrl.
Заключение
Все упомянутые здесь горячие клавиши — лишь небольшая часть всевозможных способов оптимизации и организации рабочего процесса в Unreal Engine 4. Советую попробовать назначить нужные вам команды самостоятельно в [Edit > Editor Preferences > Keyboard Shortcuts]. Не забудьте сделать экспорт ваших настроек в качестве резервной копии, чтобы в дальнейшем пользоваться ими в других проектах. Также советую подумать, как и для чего вы совершаете или должны совершать то или иное действие. Большинство горячих клавиш, которые я использую, появились благодаря тому, что я задавал себе вопрос: "Я делаю (определенные действия) довольно часто, интересно, можно ли сделать этот процесс менее сложным?"