Камеры
To see the virtual environment, we require virtual "eyes" — cameras. Cameras actually define what will be visible in the final image, the angle and distance from which it will be viewed. Virtual cameras come with a number of parameters, including the angle of view (FOV), near and far clipping planes, and the camera position and orientation. By combining the clipping planes with the camera's view angle, a visibility pyramid (or frustum) is created, and only objects within this pyramid are rendered as they are within the field of view. Objects outside this pyramid are not rendered as they are out of sight.Для того, чтобы видеть виртуальный мир нам нужны виртуальные "глаза" – это камеры. Именно камеры определяют, что будет видно на финальном изображении, под каким углом и с какого расстояния. И для этого у виртуальных камер есть ряд параметров: угол обзора (он же FOV), ближняя и дальняя плоскости отсечения, а также положение и ориентация камеры в пространстве. Плоскости отсечения вместе с углом обзора камеры задают усеченную пирамиду видимости (или frustum), объекты за пределами этой пирамиды не отрисовываются поскольку находятся вне поля зрения.
For visual representation, UNIGINE uses a standard perspective projection by default. If necessary, you can switch to the orthogonal projection (it can be used for 2D and isometric visualization). You can also set the life-like camera properties such as focal length and frame size (field of view is calculated automatically).По умолчанию для визуализации UNIGINE использует стандартную перспективную проекцию, но при желании, можно переключиться на ортографическую (ее можно использовать для двухмерной и изометрической визуализации). Свойства камеры можно также определить как в жизни, через фокусное расстояние объектива и размер кадрового окна (угол обзора рассчитается автоматически).
The process of displaying the virtual world involves the following three entities:В процессе отображения виртуального мира задействованы три сущности:
- Camera, a structure containing two matrices: view and projection. This structure allows setting the camera parameters: FOV, near and far clipping planes, and various masks and post-processing materials. The camera then passes the parameters to the viewport that draws the image that is "seen" by the camera. The camera is bound to the character that controls the camera's position.Камера (Camera) — структура, содержащая две матрицы: вида (view) и проекции (projection). Через эту структуру устанавливаются параметры камеры: угол обзора (FOV), ближняя и дальняя плоскости отсечения, а также различные маски и постпроцессные материалы. Затем камера передает параметры в окно просмотра, рисующее изображение, которое “видит” данная камера. Камера привязывается к персонажу, который контролирует положение камеры.
- Viewport receives the camera parameters and renders the received image on the screen. In addition, it provides all functions of the main renderer, for example cube maps rendering, stereo rendering, and panoramic rendering.Окно просмотра (Viewport) получает параметры камеры и воспроизводит полученное от нее изображение на экран. Кроме того, оно обеспечивает все функции главного рендерера, такие как рендеринг кубических текстур, стерео-рендеринг или панорамный рендеринг.
- Player is a node controlled via the input devices (keyboard, mouse, joystick). It has a camera assigned. Once a player has changed its position, its internal camera's view matrix is changed as well.Персонаж (Player) — это нода, которая управляется через устройства ввода (клавиатура, мышь, джойстик). К ней привязана камера. Как только персонаж меняет положение в пространстве, матрица вида с его внутренней камеры тоже изменяется.
Camera TypesТипы камер#
UNIGINE features several types of players that can be used for various reasons (they have additional parameters depending on their intended use):В UNIGINE есть несколько типов персонажей, которые можно использовать для различных целей (в зависимости от назначения они имеют дополнительные параметры):
Player Dummy is a simple viewport into the world that has no physical properties and cannot collide with objects.Player Dummy — это простое окно в мир, которое не имеет физических свойств и не может сталкиваться с объектами. | |
Player Actor is a player with a physical body (having mass, etc.) approximated by a capsule that can only walk on the ground (it can be used in shooters, for example).Player Actor — это персонаж с физическим телом (с массой и т.д.), аппроксимируемым капсулой, который может перемещаться только по земле (можно использовать, например, для шутеров). | |
Player Persecutor is a free flying camera without a physical body that follows the target node at a specified distance (can be used, for example, for a third-person view in racing). It can collide with other objects, but cannot push or interact with them.Player Persecutor — это свободно летающая камера без физического тела, которая следует за заданным объектом на указанном расстоянии (можно использовать, например, для вида от третьего лица в гонках). Он может сталкиваться с другими объектами, но не может воздействовать на них (толкать и т.д). | |
Player Spectator is a free flying camera without a physical body used to create a spectator mode. It can collide with objects but cannot push or interact with them.Player Spectator — это свободно летающая камера без физического тела, которая используется для создания режима наблюдателя. Он также может сталкиваться с другими объектами, но не может воздействовать на них (толкать и т.д). |
Adding and Configuring a Camera in the EditorДобавление и настройка камеры в редакторе#
You can have as many cameras as you want in a scene. Moving them around, switching between them, and using various post-processing effects can solve almost any cinematic task.Камер в сцене может быть сколько угодно, перемещая их в пространстве, переключаясь между ними и используя различные эффекты постобработки можно решить практически любые кинематографические задачи.
To add a new camera to the current scene, do the following:Чтобы добавить новую камеру в текущую сцену сделайте следующее:
- Orient the currently used camera as required and configure its parameters (its position, rotation, and settings will be copied to a new camera).Установите текущую камеру как нужно и настройте ее параметры (положение, ориентация и настройки новой камеры будут скопированы с текущей).
-
In the Camera panel, click . A new PlayerDummy camera with the specified settings will be added to the list of available cameras.In the Camera panel, click . A new PlayerDummy camera with the specified settings will be added to the list of available cameras.
In the Camera panel, click . A new PlayerDummy camera with the specified settings will be added to the list of available cameras.На панели Camera нажмите . В список доступных камер будет добавлена новая камера (PlayerDummy) с заданными настройками.
- Adjust the camera settings, if required.Измените настройки камеры при необходимости.
You can also add a new camera via the Create menu (Create → Camera → Required camera type) and then set the desired settings in the Parameters window.Добавить новую камеру можно также через меню Create (Create → Camera → Нужный тип камеры), а затем выставить нужные настройки в окне Parameters.
You can define for any camera whether it will be used for listening to sounds (Listener) and whether it will be set by default when the application is launched (Main Player). You can also define a set of masks that allow you to additionally control what will be heard and seen through this camera and what will be ignored (sound sources, reverberation, objects, and reflections). We'll deal with masks in more detail later.Для любой камеры можно определить, будет ли она использоваться для прослушивания звуков (Listener) и будет ли установлена по умолчанию при запуске приложения (Main Player). А также задать набор масок, позволяющих дополнительно контролировать, что через эту камеру будет слышно и видно, а что нет (источники звука, реверберация, объекты и отражения). Подробнее с масками мы разберемся позже.
Additional Camera EffectsДополнительные эффекты камер#
In addition to the general settings, different post-materials can be assigned to cameras (for example, to simulate a color light filter or thermal vision), including custom ones. Moreover, you can control various standard camera effects such as depth of field, lens contamination, flare, and more via the Settings window.Помимо основных настроек камерам можно назначать множество всевозможных пост-материалов (например, чтобы смоделировать цветной светофильтр или тепловизор), включая пользовательские. Кроме того в окне Settings можно управлять различными стандартными эффектами камер, такими как глубина резкости, загрязнение линзы объектива, блики и многое другое.