Трансформации и привязки в Unreal Engine 5
Урок на платформе YouTube:
Урок на платформе ВК:
Уровни Unreal Engine — это полноценные автономные миры. В игре может быть несколько уровней (или один глобальный). Переход между уровнями может быть как явным, с полосой загрузки (прелоадером), так и неявным — с подгрузкой нового уровня, пока игрок выполняет некое действие (перемещается на лифте, например). Для большей оптимизации, разумеется лучше иметь несколько уровней.
В Unreal Engine уровни (карты) наполняются независимо друг от друга. Это своеобразная театральная сцена, на которой «играют» актёры (акторы) — каждый на своей сцене. Как играет на нём, в конечном счёте, сам игрок. Уровни имеют расширение .umap. Логика здесь похожа на хранение ассетов, о которых говорили в предыдущем уроке. Только хранятся они в контейнере другого типа. Также в предыдущих уроках нашего курса мы условились называть уровни с префиксом MAP_ внутри браузера контента (как раз от слова «карта») — для удобной навигации по ним.
-
Set As Pivot Offset — Pivot вернется в исходное положение, если сбросить выделение актора. Чтобы сделать изменение постоянным, используем эту функцию
-
Reset Pivot Offset — даже при использовании предыдущей функции, истинная позиция опорной точки будет храниться внутри объекта. Чтобы вернуться к ней, используем текущую функцию
-
Set Pivot Offset Here — переместить опорную точку в место, куда пришёлся клик ПКМ
-
Set Pivot Offset Here (Snapped) — то же, что и предыдущая функция, но будет привязывать Pivot к ближайшей точке координатной сетки
-
Center On Selection — в текущей версии (5.1) не работает для единично выбранного объекта, но работает для множества объектов — устанавливает опорную точку по центру общего выделения.
-
Snap Origin to Grid (Ctrl+END) — перемещает объект (точнее его Pivot) к ближайшей точке сетки — в декартову координату. Хорошо видно при большем шаге сетки, например, в 100 см. Если выбрано несколько акторов, то при использовании этой функции к точке сетки будет привязываться последний выбранный актор. Прочие акторы сместятся точно так же, относительно ведущего (последуют за ним).
-
Snap Origin to Grid Per Actor — точно такая же логика, как и в предыдущей функции, но будет учитывать каждый актор уникально при множественном выборе.
-
Align Origin to Grid — делает то же самое, что и первая функция — выравнивает объект его пивотом по ближайшей координате сетки, но делает это с подворотом до совпадения локальных осей объекта с мировыми
-
Snap to 2D Layer — привязка объекта к 2D-слою. Такие слои используются в платформерах, где действие происходит для зрителя сбоку
-
Snap to Floor (END) — привязка поверхности меша к поверхности другого меша (часто выступающего в роли пола).
-
Для наглядного эксперимента можем включить отображение контейнеров (границ) объектов в меню вьюпорта → Show → Advanced → Bounds
-
-
Align to Floor — выравнивание поверхностей по полу с подворотом до совпадения с осями пола. Если актор повёрнут, то при использовании этой функции он будет сначала перемещаться (до тех пор, пока синий контейнер не коснётся поверхности), затем актор будет поворачиваться. Именно поэтому при таком выравнивании будет оставаться зазор между полом
-
Snap Pivot to Floor (Alt+END) — привязка не по типу поверность-поверхность, а по типу pivot-поверхность
-
Align Pivot to Floor — то же, что и выше, но с изменением ориентации опорной точки и, как следствие, поверхности. В отличии от выравнивания поверхностей в функции Align to Floor, здесь происходит сначала привязка Pivot к поверхности, а затем уже ориентация. Поэтому в данном случае прилегание будет абсолютным. Разумеется, это справедливо для мешей с Pivot на нижней поверхности. Если опорная точка находится в центре и нет возможности изменить её положение, то нужно использовать выравнивание по поверхностям
-
Snap Bottom Center Bounds to Floor (Shift+END) — привязка центральной точкой нижней поверхности внешнего контейнера меша (синего)
-
Align Bottom Center Bounds to Floor — то же, что и предыдущая функция, но с поворотом объекта. Работает по той же логике, что и функция Align to Floor и может оставлять зазоры на сложно-ориентированных объектах (см. видео)
-
Delta Transform — ручной ввод разницы трансформации перемещения
-
Mirror X/Y/Z — отражение объекта по осям
-
Lock Actor Movement — блокировка объекта для трансформаций. Объект заблокированный таким образом можно выделить, но нельзя воздействовать на него инструментами трансформации. На данный момент это единственный доступный способ блокировки объектов в Unreal Engine 5.1. Хотя потребность в более удобных блокировках (в том числе и для выбора) всё ещё актуальна.
-
Ctrl+D — копирует выбранный актор с помещением его в ту же самую координату
-
Shift+E — выбор всех акторов на уровне от определённого статического меша