Unreal Engine Location — Blueprint-функции местоположения, локации и позиционирования

Приветствую, друзья, с Вами Будуев Антон. В данной статье мы разберём большинство Blueprint-функций, связанных с местоположением, позицией и локацией объектов. Так называемые Location функции в Unreal Engine (UE4, UE5).

Вскоре выйдет моя бесплатная книга по Blueprints для Unreal Engine в PDF формате. Как она выйдет, рекомендую её скачать, чтобы Вы детально изучили блюпринты Анрил Энджин.

Unreal Engine Location

Location, или, по-другому, местоположение, позиционирование или локация объекта – это фундаментальный аспект работы с 3D-миром в Unreal Engine, определяющий, где объект находится в игровом мире, иначе говоря, его позицию в трёхмерном пространстве игры.

Местоположение в движке Unreal Engine выражается смещением (в сантиметрах 3D-мира движка) относительно начала координат (0, 0, 0) в выбранной системе координат и представлено в виде вектора (vector), содержащего три float-значения:

  • X — координата по оси X;
  • Y — координата по оси Y;
  • Z — координата по оси Z.

При работе с местоположением объекта в Анрил Энджин очень важно понимать концепцию трёх координатных систем.

Всего в движке для любого объекта доступно 3 системы координат:

  • мировая,
  • относительная (родительская),
  • локальная.

На рисунке ниже представлены 2 Актора. Зелёный Актор — постамент для персонажа. И второй Актор — схематичный персонаж. Причём персонаж подсоединён к Актору постамента как дочерний элемент. Так вот, если рассматривать ситуацию с точки зрения Актора персонажа, то у него будут 3 системы координат: локальная — это его собственные оси, относительная — оси его родителя и мировая — оси игрового мира.

Мировая (World), относительная (Relative) и локальная (Local) системы координат в Unreal Engine (UE4, UE5)
Мировая (World), относительная (Relative) и локальная (Local) системы координат в Unreal Engine (UE4, UE5)

Таким образом, работа с Location в Unreal Engine возможна по всем трём координатным системам. Например, задавая смещение по оси X в любой из координатных систем, мы получим совершенно разное передвижение объекта, если, конечно, данный объект имеет поворот относительно мировых или родительских систем координат.

Функции для работы с Location в Unreal Engine

Scene Component

Функции местоположения компонента, доступные в классе Scene Component и других производных от него классах.

  • Get World Location — возвращает текущее абсолютное положение компонента в мировом пространстве.
  • Set World Location — устанавливает новую мировую позицию компонента в трёхмерном пространстве игры.
  • Set World Location And Rotation — устанавливает новую позицию компонента и его разворот в мировых координатах.
  • Get Relative Location — возвращает текущее значение относительного местоположения компонента.
  • Set Relative Location — устанавливает новые координаты компонента относительно его родительского элемента.
  • Set Relative Location And Rotation — задаёт новое положение и угол поворота компонента относительно его родителя.
  • Add Relative Location — добавляет смещение к текущей относительной позиции компонента.
  • Add World Offset — добавляет смещение к текущей позиции компонента в мировых координатах.
  • Add Local Offset — добавляет смещение к текущей позиции компонента в локальной системе координат самого компонента.

Actor

Функции позиционирования объекта, доступные в классе Actor и других производных от него классах.

  • Get Actor Location — возвращает текущую позицию объекта Actor в мировых координатах.
  • Set Actor Location — устанавливает новую позицию объекта Actor в мировых координатах.
  • Set Actor Location And Rotation —  одновременно устанавливает позицию и поворот объекта Actor в мировых координатах.
  • Set Actor Relative Location — устанавливает новую позицию объекта Актора относительно его родителя.
  • Add Actor World Offset — добавляет Актору смещение к его текущей мировой позиции.
  • Add Actor Local Offset — добавляет Актору смещение относительно его локальной системы координат.

Pawn

Функции локации объекта, доступные в классе Pawn и других производных от него классах.

  • Get Last Update Location — возвращает для объекта Character, управляемого компонентом Character Movement Component, координаты во время последнего обновления его положения.
  • Get Nav Agent Location — возвращает текущее местоположение Pawn (обычно AI-контролируемого) на NavMesh.

Controller

Функции местоположения объекта, доступные в классе Controller и других производных от них классах.

  • Convert Mouse Location To World Space — преобразует экранные координаты мыши (2D) в мировые координаты (3D) и возвращает два вектора. Первый вектор представляет координаты точки мыши в мировом пространстве, второй — направление, куда указывает мышь. Также возвращает значение False, если не удаётся определить значение координат.
  • Convert Screen Location To World Space — преобразует координаты точки на экране (2D) в координаты в мировом пространстве (3D) и возвращает два вектора. Первый вектор представляет координаты точки в мировом пространстве, второй — направление, куда указывает данная точка. Также возвращает значение False, если не удаётся определить значение координат.
  • Convert World Location To Screen Location — преобразует координаты точки в мировом пространстве (3D) в координаты на экране (2D). Функция берёт точку в игровом мире и определяет, где она отображается на экране игрока, если она видна. Возвращает сами двумерные координаты на экране, а также значение True, если преобразование прошло удачно. False — в противном случае.
  • Get Focal Location — возвращает координаты, на которые в текущий момент сфокусирован Player Controller. Если у контроллера имеется принадлежащий ему Pawn, то в качестве координат фокусировки возвращается местоположение Pawn.
  • Set Initial Location and Rotation — устанавливает начальное месторасположение и вращение контроллера. Обычно используется при инициализации / первом создании контроллера.
  • Get Camera Location — возвращает текущее месторасположение камеры.

Game

  • Get World Origin Location — возвращает вектор, представляющий мировые координаты начала координат (World Origin) текущего уровня (Level). В большинстве случаев это будет вектор (0, 0, 0), но иногда начало координат уровня может быть смещено, например функцией Set World Origin Location.
  • Set World Origin Location — устанавливает новое значение начала координат текущего уровня.

Skeletal Mesh

Effect / Niagara

  • Spawn Emitter at Location — создает экземпляр системы частиц (Particle System) в указанном месте в игровом мире и запускает его воспроизведение, позволяя визуальным эффектам появляться в определенной точке мирового пространства.
  • Spawn System at Location — создает и запускает экземпляр Niagara System в указанном месте в игровом мире.
  • Spawn System at Location with Params — расширенная версия функции Spawn System at Location. Помимо стандартных параметров, она позволяет передавать системе Niagara параметры, специфичные для данного экземпляра, с помощью структуры Niagara System Spawn Info. Это обеспечивает более гибкое управление и настройку систем Niagara при их создании.

Physics

  • Add Force at Location — применяет силу к физическому телу в указанной точке в мировом пространстве. Подходит для добавления импульса в указанной точке мирового пространства на определённый промежуток времени. Вызывается на каждом кадре, пока действует сила.
  • Add Force at Location Local — применяет силу к физическому телу в указанной точке, но в локальной системе координат компонента. Это означает, что направление силы и местоположение точки приложения интерпретируются относительно координат самого компонента, а не мировых координат. Причем расположение точки силы и её направление должны находиться в пространстве самого физического тела.
  • Add Impulse at Location — применяет импульс к физическому телу (его мгновенное изменение скорости) в указанной точке в мировом пространстве.
  • Add Velocity Change Impulse at Location — применяет импульс к физическому телу в указанной точке в мировом пространстве. Под импульсом понимается сила, прикладываемая к телу, которая меняет его угловую скорость (при этом масса тела не оказывает никакого влияния на величину этой силы).

Совет. Вскоре выйдет моя бесплатная книга по Blueprints для Unreal Engine в PDF формате. Как она выйдет, рекомендую её скачать, чтобы Вы детально изучили блюпринты Анрил Энджин.


наш Телеграм канал

Оцените статью
( 2 оценки, среднее 5 из 5 )
Поделитесь этой статьей со своими знакомыми в социальных сетях, возможно, эта статья кому-то будет полезна
Unreal Engine - это просто
Добавить комментарий

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.