Camera Component и Camera Actor (Cine Camera Actor) в Unreal Engine

Друзья, приветствую, с Вами Будуев Антон. В данной статье мы обсудим сразу несколько классов, отвечающих в Unreal Engine (UE5, UE4) за работу с камерой — Camera ComponentCamera Actor и Cine Camera Actor. Разберём эти классы, их функциональность, отличия и настройки.

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

Camera Component

Camera Component (компонент камеры) — один из важнейших элементов системы камер в Unreal Engine, определяющий точку зрения игрока на игровой мир, а также настройки самой камеры. Добавляется абсолютно к любому Актору, будь-то персонаж игрока (Character), специальный статический Актор-камера в игровом мире (Camera Actor) или любой другой объект, которому необходимо обеспечить точку обзора для игрока в определённые моменты игры.

Camera Component позволяет создавать динамические камеры от первого или третьего лица, управлять положением, поворотом, полем зрения и постобработкой. Часто используется для игровых камер, встроенных в персонажей.

Camera Component в Unreal Engine
Camera Component в Unreal Engine

Ключевые особенности Camera Component:

  • компонент камеры может быть добавлен к любому Актору, включая персонажей и другие статичные объекты, что позволяет легко создавать разные виды камер и переключаться между ними прямо во время действия игры;
  • поддержка перспективного и ортографического режима проекции камеры (Perspective, Orthographic Projection);
  • контроль поля зрения (Field of View);
  • управление соотношением сторон (Aspect Ratio);
  • встроенные эффекты постобработки (Bloom, Depth of Field, цветокоррекция и другие), применяемые к итоговому изображению для данной камеры.

Настройки Camera Component во вкладке Details

Camera Component в Unreal EngineТак как Camera Component является дочерним от класса Scene Component, то многие настройки вкладки Details также были унаследованы от компонента сцены. Соответственно, чтобы не повторяться, в этой статье рассмотрим только дополнительные настройки, относящиеся к Camera Component.

Остальные повторяющиеся настройки Вы можете изучить по следующим ссылкам:

Camera  Settings

Camera Component — настройки Camera Settings
Camera Component — настройки Camera Settings
  • Projection Mode (режим проекции) — параметр определяет, использует ли камера перспективную или ортографическую проекцию. На выбор предлагаются 2 варианта:
    Perspective (перспектива) — традиционный 3D-вид с восприятием глубины (объекты кажутся меньше по мере удаления).
    Orthographic (ортографическая) 2D-вид без перспективных искажений (объекты сохраняют свой размер независимо от расстояния).
  • Field of View (поле зрения, FOV) — параметр контролирует угол обзора камеры в градусах (только для перспективного режима). Более высокие значения создают более широкий вид (эффект «рыбий глаз»). Более низкие значения создают более узкий, приближенный вид. Обычно значения находятся в диапазоне от 60 до 90 градусов.
  • Aspect Ratio (соотношение сторон) — параметр контролирует соотношение ширины и высоты вида камеры.

Camera Options

Camera Component — настройки Camera Options
Camera Component — настройки Camera Options
  • Constrain Aspect Ratio (ограничить соотношение сторон) — при включении параметр добавляет черные полосы для поддержания соотношения сторон, если у итогового вида не то соотношение сторон, которое запрашивала камера.
  • Use Pawn Control Rotation (использовать вращение контроллера Pawn) — параметр включает использование вращения контроллера, владеющего текущим Pawn, для определения вращения камеры. Иначе говоря, камера будет повторять повороты контроллера.
  • Post Process Blend Weight (вес постобработки при смешивании) — параметр определяет степень влияния применения эффектов постобработки для текущей камеры.
  • Aspect Ratio Axis Constraint (ограничение оси соотношения сторон) — параметр определяет ось для ограничения соотношения сторон.
  • Override Aspect Ratio Axis Constraint (переопределение ограничения оси соотношения сторон) — параметр включает переопределение установленного по умолчанию ограничения оси соотношения сторон, заданное для локального игрока.
  • Lock to Hmd — при включении параметра ориентация и положение камеры будут следовать за движением гарнитуры виртуальной реальности (VR).
  • Use Field Of View for LOD (использовать поле зрения для LOD) — параметр включает учёт поля зрения (FOV) при вычислении уровня детализации (LOD).

Camera

Camera Component — настройки Camera
Camera Component — настройки Camera
  • Draw Frustum Allowed (разрешить отрисовку фрустума) — параметр управляет видимостью фрустума камеры в редакторе. Фрустум (от лат. Frustumусеченный конус) — это видимая область трёхмерного пространства, которая будет отображена на экране через текущую камеру. Он определяется положением камеры, полем зрения (FOV) и плоскостями отсечения.
  • Camera Mesh Hidden in Game — параметр управляет скрытием Меша камеры в игре.
  • Camera Mesh — выбор Mesh для представления камеры в редакторе.

Post Process

Camera Component — настройки Post Process
Camera Component — настройки Post Process

Post Process (постобработка) в Unreal Engine — это настройки, применяемые к итоговому изображению для текущей камеры, позволяющие добавлять к этому изображению следующие специальные эффекты (фильтры):

  • Lens (объектив) — свойства, имитирующие эффекты, возникающие в объективе реальной камеры (Bloom, Exposure, DOF, Chromatic Aberration, Dirt Mask).
  • Color Grading (цветокоррекция) — свойства для управления контрастностью, цветом, насыщенностью, тоном и многим другим для полного художественного управления внешним видом изображения.
  • Film (плёнка) — свойства обеспечивающие согласованность цветов на различных форматах и дисплеях, а также защиту исходного материала от необходимости корректировки для каждого нового носителя. Данные свойства позволяют имитировать различные типы кинопленки.
  • Global Illumination (глобальное освещение) — данные настройки позволяют выбрать тип используемого динамического глобального освещения (Lumen, Screen Space или другое). А также настроить интенсивность и цвет некоторых методов глобального освещения.
  • Reflections (отражения) — настройки позволяют выбрать один из типов динамических отражений, которые можно использовать в Unreal Engine и затем настроить его.
  • Rendering Features (функции рендеринга) — настройки Ambient Cubemap (окружающей кубической карты), Ambient Occlusion (окружающего затенения), Ray Tracing Ambient Occlusion (RTAO) (трассировки лучей для окружающего затенения), Motion Blur (размытия в движении), Ray Tracing Translucency (трассировки лучей для полупрозрачности).
  • Film Grain (зернистость плёнки) — настройки визуального эффекта, имитирующего внешний вид обработанной фотопленки.
  • Path Tracing (трассировка пути) — настройки прогрессивного, аппаратно-ускоренного режима рендеринга, который создает физически корректное глобальное освещение, отражения, преломления и многое другое.

Blueprint-функции, связанные с классом Camera Component в Unreal Engine

  • Get Camera View — возвращает полную информацию о текущей точке обзора камеры (позиция, поворот, угол поля зрения, соотношение сторон и прочее) в виде структуры Minimal View Info. Обычно используется для расчетов, связанных с камерой.
  • Set Auto Calculate Ortho Planes — включает или выключает автоматический расчет плоскостей отсечения для ортографической камеры. Если включено, плоскости будут автоматически настраиваться в зависимости от ширины ортографической камеры.
  • Set Constraint Aspect Ratio — устанавливает флаг, определяющий, следует ли камере принудительно поддерживать определенное соотношение сторон.
  • Set Aspect Ratio — устанавливает соотношение сторон для камеры.
  • Set Aspect Ratio Axis Constraint — определяет, по какой оси (ширина или высота) будет ограничиваться соотношение сторон при изменении размера окна или экрана.
  • Set Auto Plane Shift — позволяет смещать ближнюю и дальнюю плоскости ортографической камеры, сохраняя расстояние между ними. Положительные значения отдаляют дальнюю плоскость, отрицательные приближают ближнюю.
  • Set Field Of View — устанавливает FOV (угол обзора камеры, в градусах) для перспективной проекции камеры. Влияет на то, сколько сцены видно в кадре (насколько широкоугольным или телескопическим будет изображение, захватываемое камерой).
  • Set Post Process Blend Weight — задаёт силу (вес) применения эффектов постобработки, наложенных на камеру.
  • Set Projection Mode — устанавливает режим проекции камеры: перспективный (Perspective) или ортографический (Orthographic). Влияет на то, как объекты проецируются на экран: перспективный режим — объекты уменьшаются в размере с увеличением расстояния, ортографический — объекты имеют одинаковый размер независимо от расстояния.
  • Set Use Camera Height as View Target — при автоматическом обновлении ортографических плоскостей использует текущую высоту камеры для компенсации расстояния до цели обзора.
  • Add Camera Component — добавляет компонент камеры к Актору, позволяя ему выступать точкой обзора с настраиваемыми параметрами.
  • Set Ortho Far Clip Plane — устанавливает положение дальней плоскости отсечения для ортографической камеры (если автоматический расчёт отключён).
  • Set Ortho Near Clip Plane — устанавливает положение ближней плоскости отсечения для ортографической камеры (если автоматический расчёт отключён).
  • Set Ortho Width — устанавливает ширину (в единицах Unreal Engine) для ортографической камеры. Влияет на то, сколько мира будет видно камерой.
  • Set Update Ortho Planes — автоматически корректирует ближнюю и дальнюю плоскости и положение камеры, чтобы избежать артефактов отсечения и освещения в ортографическом режиме.
  • Set Use Field Of View for LOD — определяет, будет ли угол обзора камеры (FOV) использоваться для расчёта уровней детализации объектов (LOD).

Camera Actor

Camera Actor (Актор камеры) — это специализированный Актор в Unreal Engine, содержащий в себе компонент Camera Component. По сути, Camera Actor чего-то особого из себя не представляет, являясь просто оболочкой для компонента камеры, дающей возможность разместить отдельную камеру в игровом мире (поскольку Camera Component сам по себе разместить в мире невозможно).

Camera Actor в Unreal Engine
Camera Actor в Unreal Engine

Camera Actor в Unreal EngineCamera Actor наследуется напрямую от класса Actor, что означает, что камеру можно помещать на игровой уровень, а также перемещать и взаимодействовать с ней, как с любым другим игровым объектом. Также Актор камеры поддерживает стандартные события класса Actor, например, такие как Begin Play, что позволяет инициализировать логику камеры при старте игры или при появлении Camera Actor на уровне.

Из настроек Details данного Актора можно выделить только одну опцию Auto Activate for Player, указывающую, какой контроллер игрока должен автоматически использовать данную камеру.  На выбор в данной опции предлагаются варианты Disabled (камера не подключена ни к одному из контроллеров) или варианты контроллеров (от Player 0 до Player 7).

Camera Actor - настройка Auto Activate for Player
Camera Actor — настройка Auto Activate for Player

Все остальные настройки полностью унаследованы от компонента Camera Component, которые мы разбирали выше и класса Actor.

Применяется Camera Actor для статичных камер, камер наблюдения или для создания различных точек обзора на игровом уровне, между которыми можно переключаться во время игры.

Cine Camera Actor

Cine Camera Actor (Актор кинокамеры) в Unreal Engine — это специализированный класс камеры, который имитирует поведение настоящей кинокамеры, предоставляя расширенные настройки для создания профессионального кинематографического вида, включая физические размеры сенсора, характеристики объектива, сложные методы фокусировки, параметры обрезки и многое другое.

Cine Camera Actor
Cine Camera Actor

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

Cine Camera ActorCine Camera Actor является дочерним классом от класса Camera Actor, а значит, наследует все его настройки и свойства, а также расширяет функционал обычной игровой камеры специализированными профессиональными настройками Current Camera Settings, размещёнными во вкладке Details.

Давайте разберём эти настройки.

Look at Tracking settings

Настройки Look at Tracking (слежение взглядом) позволяют камере автоматически поворачиваться и фокусироваться на выбранном объекте или точке в сцене.

Настройки Look at Tracking settings в Cine Camera Actor
Настройки Look at Tracking settings в Cine Camera Actor
  • Enable Look at Tracking (включить слежение взглядом) — параметр включает функциональность слежения взглядом для этой камеры. Без включения этой опции, все остальные настройки слежения работать не будут.
  • Draw Debug Look at Tracking Position (отображать отладочное положение слежения) — при включении параметра в сцене отображается специальный куб-маркер, показывающий точку, за которой следит камера. Полезно для визуализации и отладки, особенно при использовании смещения (Relative Offset).
  • Look at Tracking Interp Speed (скорость интерполяции слежения) — параметр определяет скорость, с которой камера поворачивается, чтобы следить за объектом. Значение по умолчанию — 0 (камера поворачивается к объекту мгновенно). Если значение больше 0, то добавляется задержка в слежении. Чем выше значение, тем больше задержка и тем плавнее будет поворот камеры. Опция полезна для создания более органичных и менее резких движений камеры.
  • Actor to Track (Актор для отслеживания) — параметр позволяет указать Актор (объект), за которым должна следить камера. Этим объектом может быть любой Актор в сцене, например, персонаж, предмет или пустой Актор. Если Актор не указан, камера будет следить за мировым центром координат (0, 0, 0).
  • Relative Offset (относительное смещение) — параметр указывает смещение позиции, применяемое к отслеживаемому Актору в его локальной системе координат, что позволяет более точно настроить кадрирование Актора в камере.
  • Allow Roll (разрешить вращение по оси X) — параметр определяет, разрешено ли камере вращаться по своей оси X (Roll). Если этот параметр отключен, отслеживание камеры переопределит все данные по оси X.

Filmback

Настройки Filmback (плёнка) предназначены для имитации параметров физических камер, что напрямую влияет на внешний вид кадра.

Настройки Filmback в Cine Camera Actor
Настройки Filmback в Cine Camera Actor
  • Filmback (плёнка) — параметр содержит список предустановленных параметров реальных камер. Выбор определенного предустановленного значения изменяет значения Sensor Width (ширина сенсора) и Sensor Height (высота сенсора) для имитации выбранной камеры. Это также влияет на базовый угол обзора и соотношение сторон камеры.
  • Sensor Width (горизонтальный размер сенсора, в мм) — параметр имитирует горизонтальный размер сенсора камеры (или пленки). Чем больше сенсор, тем больше света он собирает, что влияет на глубину резкости и угол обзора.
  • Sensor Height (вертикальный размер сенсора, в мм) — параметр имитирует вертикальный размер сенсора камеры (или пленки). Чем больше сенсор, тем больше света он собирает, что влияет на глубину резкости и угол обзора.
  • Sensor Aspect Ratio (соотношение сторон сенсора) — параметр отображает текущее соотношение сторон, рассчитанное на основе выбранных размеров сенсора (ширина/высота). Значение предназначено только для чтения и не может быть изменено напрямую. Оно автоматически обновляется при изменении ширины или высоты сенсора.

Lens Settings

Настройки Lens Settings (настройки объектива) позволяют эмулировать реальные объективы и их характеристики.

Настройки Lens Settings в Cine Camera Actor
Настройки Lens Settings в Cine Camera Actor
  • Lens Settings (настройки объектива) — параметр содержит список предустановленных параметров реальных объективов. Выбор определенного предустановленного значения изменяет фокусное расстояние, диафрагму и другие свойства объектива.
  • Min Focal Length (минимальное фокусное расстояние объектива, в мм) — параметр определяет минимальное значение фокусного расстояния для камеры.
  • Max Focal Length (максимальное фокусное расстояние объектива, в мм) — параметр определяет максимальное значение фокусного расстояния для камеры.
  • Min FStop (минимальный диапазон диафрагмы) — параметр определяет минимальное значение диафрагмы (F-stop) для камеры. Диафрагма регулирует количество света, проходящего через объектив. Низкое значение F-stop (широкая диафрагма) приводит к увеличению прохождения света и меньшей глубине резкости (размытый фон).
  • Max FStop (максимальный диапазон диафрагмы) — параметр определяет максимальное значение диафрагмы (F-stop) для камеры. Диафрагма регулирует количество света, проходящего через объектив. Большое значение F-stop (узкая диафрагма) приводит к уменьшению прохождения света и большей глубине резкости (больше объектов в фокусе).
  • Squeeze Factor (коэффициент сжатия) — параметр регулирует коэффициент анаморфного сжатия для имитации анаморфных объективов (для обычных объективов и > 1 для анаморфных).
  • Diaphragm Blade Count (количество лепестков диафрагмы) — параметр управляет количеством лепестков диафрагмы в объективе и позволяет тонко настроить внешний вид размытия фона, делая его более реалистичным и соответствующим выбранному типу объектива. Количество лепестков напрямую влияет на форму эффекта боке (размытия вне фокуса). Малое количество лепестков приводит к тому, что Боке будет иметь более угловатую, квадратную форму. Большое количество лепестков — Боке будет иметь более округлую форму.

Focus Settings

Настройки Focus Settings (настройки фокуса) отвечают за управление глубиной резкости и настройками фокусировки.

Настройки Focus Settings в Cine Camera Actor
Настройки Focus Settings в Cine Camera Actor
  • Focus Method (метод фокусировки) — параметр определяет, каким образом будет контролироваться глубина резкости и фокусировка камеры. На выбор предлагается 4 варианта:
    Do Not Override (не переопределять) — отключает глубину резкости, влияющую на камеру. При этом сохраняется возможность использования глубины резкости из других источников, например, из Post-Process Volume.
    Manual (ручной) параметр включает глубину резкости и позволяет контролировать фокусировку вручную, относительно положения камеры, с помощью свойства Manual Focus Distance.
    Tracking (отслеживание) — параметр включает глубину резкости и позволяет контролировать фокусировку, отслеживая Акторов с помощью свойств Look at Tracking.
    Disable (отключить) параметр полностью отключает глубину резкости, не позволяя использовать её из каких-либо других источников.
  • Manual Focus Distance (ручное расстояние фокусировки) — параметр управляет расстоянием фокусировки в сантиметрах относительно положения камеры. Определяет точку, которая будет находиться в фокусе. Данная опция поддерживает вводимые единицы измерения — введя значение «5m», оно автоматически преобразуется в «500cm». Также имеется Eye Dropper (пипетка), позволяющая выбрать объект прямо в вьюпорте и моментально установить фокусировку камеры на нём.
  • Draw Debug Focus Plane (отображать отладочную плоскость фокусировки) — параметр включает отображение прозрачной плоскости, ориентированной на камеру, для предварительного просмотра точки фокусировки.
  • Debug Focus Plane Color (цвет отладочной плоскости фокусировки) — параметр определяет цвет отладочной плоскости фокусировки.
  • Smooth Focus Changes (плавные изменения фокусировки) — параметр включает автоматическую интерполяцию (плавное изменение) расстояния фокусировки во времени вместо мгновенного переключения.
  • Focus Smoothing Interp Speed (скорость интерполяции плавных изменений фокусировки) — параметр определяет скорость интерполяции изменения фокуса, если включена опция Smooth Focus Changes. Низкие значения приводят к медленным изменениям, высокие значения — к быстрым.
  • Focus Offset (смещение фокуса) — параметр смещает точку фокусировки относительно положения отслеживаемого Актора, если используется фокусировка с отслеживанием (Look at Tracking). Если используется ручная фокусировка (Manual Focus), вместо этого будет использоваться Manual Focus Distance (ручное расстояние фокусировки). Положительные числа увеличивают расстояние от камеры, отрицательные числа уменьшают расстояние.

Другие настройки

Другие настройки в Current Camera Settings для Cine Camera Actor
Другие настройки в Current Camera Settings для Cine Camera Actor
  • Crop Settings (настройки обрезки) — параметр обрезки кадра, позволяющий задать пользовательское соотношение сторон кадра или использовать готовые пресеты.
  • Current Focal Length (текущее фокусное расстояние) — параметр задаёт текущее фокусное расстояние камеры. Это значение ограничено диапазоном, определенным настройками Min Focal Length (минимальное фокусное расстояние) и Max Focal Length (максимальное фокусное расстояние) в разделе Lens Settings.
  • Current Aperture (текущая диафрагма) — параметр задаёт текущее значение диафрагмы (FStop) камеры. Это значение ограничено диапазоном, определенным настройками Min FStop (минимальная диафрагма) и Max FStop (максимальная диафрагма) в разделе Lens Settings.
  • Current Focus Distance (текущее расстояние фокусировки) — параметр отображает конечное расстояние фокусировки, рассчитанное на основе Manual (ручного) или Tracking (отслеживающего) методов фокусировки, включая любые смещения. Значение только для чтения. Его нельзя изменить напрямую, так как является результатом других настроек.
  • Current Horizontal FOV (текущий горизонтальный угол обзора) — параметр отображает конечный горизонтальный угол обзора, рассчитанный на основе комбинации фокусного расстояния камеры и размеров сенсора (Filmback). Значение нельзя изменить напрямую, так как оно является результатом других настроек.
  • Custom Near Clipping Plane (пользовательская ближняя плоскость отсечения) — параметр задаёт минимальное расстояние до объектов, которые будут отображаться камерой.

Camera Actor или Camera Component: что выбрать?

Важно понимать, когда следует использовать Camera Actor, а не Camera Component, и наоборот.

Camera Actor следует выбирать, когда:

  • необходимо создать независимую камеру на игровом уровне;
  • для игровой механики требуется камера с фиксированным положением;
  • для игры требуется создать камеру видеонаблюдения или камеру для создания снимков;
  • требуется создать кинематографическое движение камеры;
  • необходимо создать кинематографическое качество итоговой картинки или киношную кат-сцену (в этом случае используется Cine Camera Actor).

Camera Component следует выбирать, когда:

  • камеру необходимо прикрепить к другому Актору;
  • камера должна перемещаться со своим родительским действующим лицом;
  • требуется создать вид для персонажа от первого или от третьего лица.

Иначе говоря, Camera Actor используется, если нужна отдельная камера, которая не должна следовать за другим Актором напрямую. А Camera Component, если требуется камера, которая прикреплена к другому Актору и перемещается вместе с ним.

Практический урок в Unreal Engine: смена камеры

В качестве практики разберём смену вида камеры персонажа от третьего лица (Camera Component) на фиксированную камеру (Camera Actor) при пересечении персонажем определённой зоны и обратную смену камер при выходе из этой неё.

Так как смена камер в Unreal Engine производится специализированной Blueprint-функцией Set View Target With Blend, то данную практику рассмотрим в отдельной статье, совместно с разбором самой функции и её параметров. Перейти к практике >>

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


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

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

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