This page has been translated automatically.
Видеоуроки
Interface
Essentials
Advanced
Подсказки и советы
Основы
Программирование на C#
Рендеринг
Принципы работы
Свойства (properties)
Компонентная Система
Физика
Редактор UnigineEditor
Обзор интерфейса
Работа с ассетами
Настройки и предпочтения
Работа с проектами
Настройка параметров ноды
Setting Up Materials
Настройка свойств
Освещение
Landscape Tool
Sandworm
Использование инструментов редактора для конкретных задач
Extending Editor Functionality
Встроенные объекты
Ноды (Nodes)
Объекты (Objects)
Эффекты
Декали
Источники света
Geodetics
World Nodes
Звуковые объекты
Объекты поиска пути
Players
Программирование
Основы
Настройка среды разработки
Примеры использования
C++
C#
UnigineScript
Унифицированный язык шейдеров UUSL
Плагины
File Formats
Rebuilding the Engine Tools
GUI
Двойная точность координат
API
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes
Работа с контентом
Оптимизация контента
Материалы
Material Nodes Library
Art Samples
Tutorials

Проекции с плагином AppProjection

Внимание
Функционал, описанный в этой статье, недоступен в Community редакции SDK.
Чтобы использовать этот функционал вам необходимо получить лицензию на Sim SDK.

AppProjection allows you to create multi-projector setups. Edge blending, non-linear image mapping, and color correction for each projection are supported. Therefore, AppProjection can project images onto large curved screen displays covering 360 degrees, if necessary. Moreover, each projection can be fully customized to use a required view frustum.AppProjection позволяет создавать многопроекторные конфигурации. Поддерживаются компенсация пересвечивания на границах проекций, нелинейная коррекция изображения для криволинейных экранов и цветокоррекция для каждой проекции. Следовательно, AppProjection может при необходимости проецировать изображения на большие изогнутые экраны, охватывающие 360 градусов. Более того, каждую проекцию можно полностью настроить для использования необходимой пирамиды видимости.

Примечание
This plugin cannot be used in a Qt-based application.Этот плагин нельзя использовать в приложении на основе Qt.

Projection setup

Projection setupНастройка проекции

AppProjection

Customizable projection with AppProjectionНастраиваемая проекция с AppProjection

See AlsoСмотрите также#

Launching AppProjectionЗапуск AppProjection#

To launch the application and render projections:Чтобы запустить приложение и визуализировать проекции:

  1. Specify an engine plugin library (lib/AppProjection_*) together with the rest of required start-up arguments (such as rendering API, window size, etc.). For example:Укажите библиотеку плагинов движка (lib/AppProjection_*) вместе с остальными необходимыми аргументы при запуске (например, API рендеринга, размер окна и т. д.). Например:

    Shell-команды
    main_x64.exe -extern_plugin AppProjection

    You can use the 64-bit debug or release version of the library. (The engine automatically loads the appropriate version of the library depending on the specified main application.)Вы можете использовать 64-битную отладочную или релизную версию библиотеки. (Движок автоматически загружает соответствующую версию библиотеки в зависимости от указанного основного приложения.)

    Примечание

    It is impossible to use AppProjection with:Невозможно использовать AppProjection с:

  2. To change the number of displays in a row, specify -width CLI option. For example:Чтобы изменить количество дисплеев в строке, укажите опцию командной строки -width. Например:

    Shell-команды
    main_x64.exe -extern_plugin AppProjection -width 2

    By default, up to 8 projections are supported to be output from one rendering node.По умолчанию с одного узла рендеринга поддерживается вывод до проекций 8.

AppProjection with two projections

AppProjection with two projectionsAppProjection с двумя проекциями

Setting Up ProjectionsНастройка проекций#

To set up projections, open the system menu by pressing Esc, go to the Plugins tab and click the Projection button.Чтобы настроить проекции, откройте системное меню, нажав Esc, перейдите на вкладку Plugins и нажмите кнопку Projection.

The Projection Configurator window will open. This window makes it possible to:Откроется окно Projection Configurator. Это окно позволяет:

You should first choose a Projection to be adjusted at the top-right corner.Сначала необходимо выбрать проекцию (Projection) для настройки в правом верхнем углу.

WarpingКоррекция геометрии#

The Warp tab allows you to set up geometry correction for your projections. Areas where geometry correction is required include:Вкладка Warp позволяет вам настроить коррекцию геометрии для ваших проекций. Области, где требуется коррекция геометрии, включают:

  • Advanced off-axis correction where projector placement is awkward and needs an advanced mapping over the keystone function in a projectorРасширенная внеосевая коррекция, когда проектор размещается неудобно и требует расширенного сопоставления функции трапецеидального искажения в проекторе
  • Non-planar screens such a curved screens and hemispherical domesКриволинейные (неплоские) экраны, такие как изогнутые экраны и полусферические купола.
  • Projecting one image from one projector onto more than one surfaceПроецирование одного изображения с одного проектора на несколько поверхностей
  • Unusual projection applications onto custom designed screensНеобычные проекционные приложения на специально разработанные экраны

Interface

InterfaceИнтерфейс

Warping is performed by modifying the displayed grid. The following options are available:Коррекция геометрии выполняется путем изменения отображаемой сетки. Доступны следующие варианты:

Projection Select a projection in the drop-down list to set up its parameters. You can also use Page Up and Page Down buttons to switch between projections.Выберите проекцию в раскрывающемся списке, чтобы настроить ее параметры. Вы также можете использовать кнопки Page Up и Page Down для переключения между проекциями.
Multiplier The displacement step in pixels to be used when moving points with arrow keys. Use + to increase the value, or - to decrease it.Шаг смещения в пикселях, который будет использоваться при перемещении точек с помощью клавиш со стрелками. Используйте + для увеличения значения или - для его уменьшения.
Resolution

The number of control points along the grid horizontal and vertical axes. A 2 x 2 grid is used by default.Количество контрольных точек по горизонтальной и вертикальной осям сетки. По умолчанию используется сетка 2 x 2.

Примечание
The maximum grid size is 32 x 32.Максимальный размер сетки 32 x 32.
Points

Visual editor enables you to set up warping for the selected projection using control points and yellow handles. These handles are displayed for each selected control point depending on its type.Визуальный редактор позволяет настроить деформацию для выбранной проекции с помощью контрольных точек и желтых маркеров. Эти маркеры отображаются для каждой выбранной контрольной точки в зависимости от ее типа .

You can select control points by clicking the mouse, and also switch between them using arrow keys.Вы можете выбирать контрольные точки щелчком мыши, а также переключаться между ними с помощью клавиш со стрелками.

Multi-selection using the mouse is performed as a common selection of multiple objects; to add or remove points from the selected group, click on them holding the Ctrl key. Multi-selection using the keyboard is possible in a chain-like way using arrow keys with the Shift key pressed.Множественный выбор с помощью мыши выполняется также, как обычно выбираются несколько объектов; чтобы добавить или удалить точки из выбранной группы, щелкните по ним, удерживая клавишу Ctrl. Множественный выбор с помощью клавиатуры возможен в виде цепочки с помощью клавиш со стрелками при нажатой клавише Shift.

The Ctrl + Z / Ctrl + Y combinations are used for the Undo / Redo actions. Shift + Ctrl + Z cancels all transformations.Комбинации Ctrl + Z / Ctrl + Y используются для действий Undo / Redo. Shift + Ctrl + Z отменяет все преобразования.

Примечание
Points are always moved in the screen-space coordinates regardless of image orientation (whether it is flipped or not), this means if you press left arrow, the point always goes left.Точки всегда перемещаются в координатах экранного пространства независимо от ориентации изображения (независимо от того, перевернуто оно или нет), это означает, что если вы нажимаете стрелку влево, точка всегда перемещается влево.
  • Drag control points and their yellow handles to warp the projection and adjust it for the required configuration. You can also move points using arrow keys with the Ctrl key pressed.Перетащите контрольные точки и их желтые маркеры, чтобы деформировать проекцию и настроить ее в соответствии с требуемой конфигурацией. Вы также можете перемещать точки с помощью клавиш со стрелками при нажатой клавише Ctrl.

    You can see an example of a warped grid and a corresponding projection image below.Ниже представлен пример деформированной сетки и соответствующее изображение проекции.

    Warped grid

    Warped gridДеформированная сетка

    Warped image

    Warped imageИскаженное изображение
  • You can fine-tune projection warping by adjusting the parameters of each control point by selecting it and changing parameters via the following panel next to grid resolution settings:Вы можете точно настроить деформацию проекции, настроив параметры каждой контрольной точки, выбрав ее и изменив параметры на панели рядом с настройками разрешения сетки:

    The following parameters are available:Доступны следующие параметры:

    • Point — horizontal and vertical indices of the selected control point. Enumeration starts from the bottom left corner.Point - горизонтальный и вертикальный индексы выбранной контрольной точки. Нумерация начинается с левого нижнего угла.
    • Position — coordinates of the selected control point along the X and Y axes.Position - координаты выбранной контрольной точки по осям X и Y.

      Coordinates for points and handles

      Coordinates for control pointsКоординаты контрольных точек
    • Type — warping type for the selected control point:Type - тип искажения для выбранной контрольной точки:

      • — automatic linear interpolation (no control handles available) - автоматическая линейная интерполяция (управляющие элементы отсутствуют)
      • — symmetric control handles for smooth curves - симметричные элементы управления для плавных кривых
      • — asymmetric control handles (you can control each handle independently) - асимметричные элементы управления (вы можете управлять каждым элементом независимо)
      • — automatic smooth curve (no control handles available) - автоматическая плавная кривая (элементы управления отсутствуют)

The grid itself can also be moved inside the view space:Саму сетку также можно перемещать внутри области просмотра:

  • Middle Mouse Button for panning (dragging the grid vertically or horizontally)Средняя кнопка мыши для панорамирования (перетаскивание сетки по вертикали или горизонтали)
  • Mouse Scroll for zooming in and outПрокрутка мышью для увеличения и уменьшения масштаба
  • button to undo all panning and zooming actions and make the grid fit the window, чтобы отменить все действия панорамирования и масштабирования и подогнать сетку под размер окна.
Canvas

Configure the canvas for the selected projection: set rotation angle and enable vertical and horizontal flipping.Настройте канву для выбранной проекции: установите угол поворота и включите вертикальное и горизонтальное отражение.

Color and Brightness CorrectionКоррекция цвета и яркости#

The Color tab allows you to correct color intensity, as well as to adjust color balance for the selected projection.Вкладка Color позволяет корректировать интенсивность цвета, а также настраивать цветовой баланс для выбранной проекции.

Brightness

Per-channel color multiplier to control the intensity of:Поканальный множитель цвета для управления интенсивностью:

  • Red
  • Green
  • Blue
  • RGB одновременно

Red channel scale

Brightness for the red channel = 2Яркость для красного канала = 2
Contrast

Settings that allow you to adjust the color balance per channel (as well as for all channels at once):Настройки, позволяющие настроить цветовой баланс для каждого канала (а также для всех каналов сразу):

  • Positive values are added to the color values on the screen.Положительные значения добавляются к значениям цвета на экране.
  • Negative values are subtracted from color values on the screen.Отрицательные значения вычитаются из значений цвета на экране.

Red channel bias

Contrast for the red channel = -0.1Контраст для красного канала = -0,1
Brightness (corners) Settings to adjust brightness compensation for each of the projection's corners individually.Настройки для индивидуальной настройки компенсации яркости для каждого угла проекции.
Примечание
All color parameters can be reset to defaults by clicking the corresponding parameter name (by line or by column for the Color Balance set of parameters, and individually for each corner).Все параметры цвета можно сбросить до значений по умолчанию, щелкнув соответствующее имя параметра (по строке или столбцу для набора параметров Color Balance и индивидуально для каждого угла).

BlendingНаложение#

The Blend tab allows you to configure blending in the selected area and along the edges.Вкладка Blend позволяет настроить наложение в выбранной области и по краям.

Screen-Space Blending

Manages blending in the selected area. The screen-space blend area is not affected by warping.Управляет наложением в выбранной области. Область наложения экранного пространства не подвержена деформации.

To select the area, click Add to start creating the blending area, and in the grid, click to define one side of the area, then click to define the other side — the green line will appear. The third click shows the blending direction.Чтобы выбрать область, щелкните Add, чтобы начать создание области наложения, и в сетке щелкните, чтобы определить одну сторону области, затем щелкните, чтобы определить другую сторону - появится зеленая линия. Третий щелчок показывает направление наложения.

The area of the screen-space blend area is divided into two parts: the part between the blue and green lines is a solid-black area, and the part between the green and red lines is a gradient area.Область наложения экранного пространства разделена на две части: часть между синей и зеленой линиями является сплошной черной областью, а часть между зеленой и красной линиями является областью градиента.

By default, each of these lines has two points marking the line limits. Using Resolution, you can increase the number of points along each line to adjust it as required by moving the points. Multi-selection of points is available.По умолчанию каждая из этих линий имеет две точки, обозначающие границы линии. Используя разрешение , вы можете увеличить количество точек вдоль каждой линии, чтобы отрегулировать его по мере необходимости, перемещая точки. Доступен множественный выбор точек.

Every blend area is adjusted using the following settings:Каждая область наложения регулируется с использованием следующих параметров:

  • Enabled — if toggled on, enables the use of the blend area selected from the list.Enabled - если включено, разрешает использование области наложения, выбранной из списка.
  • Link to Projection — if toggled on, allows adjusting Alpha, Contrast, and Gamma for two blends simultaneously for better neighboring of two projections. Select the projection and the blend area from the drop-down lists and adjust the necessary parameters.Link to Projection - если включено, позволяет настроить Alpha, Contrast и Gamma для двух блендов одновременно для лучшего согласования соседних проекций. Выберите проекцию и область наложения из раскрывающихся списков и настройте необходимые параметры.
  • Name — the window to modify the blend area name.Name - окно для изменения имени области наложения.
  • Alpha — transparency of the whole blended area.Alpha - прозрачность всей области наложения.
  • Contrast — contrast of the gradient part of the blended area.Contrast - контраст градиентной части области наложения.
  • Gamma — gamma correction value.Gamma - значение гамма-коррекции.

Defining a screen-space blending areaОпределение области наложения в экранном пространстве

The blended areaОбласть наложения
Warped Edge Blending

Controls soft edge blending for each side of the projection (left, right, top, and bottom). If you warp the image, the border blending becomes warped, too.Управляет плавным переходом краев для каждой стороны проекции (левой, правой, верхней и нижней). Если вы деформируете изображение, наложение границ тоже искажается.

  • Size controls the size of the blended area:Size контролирует размер области наложения:

    • 0 — there is no blending.0 - наложения нет.
    • 0.5 — a half of the screen is blended.0.5 - наложение размером в половину экрана.
  • Alpha controls transparency of the blended area:Alpha контролирует прозрачность области наложения:

    • 0 — the blended area is not transparent.0 - область наложения непрозрачна.
    • 1 — the blended area is completely transparent.1 - область наложения полностью прозрачна.
  • Contrast defines contrast of the blended area and makes transition from the darkest to the lightest area non-linear. Contrast определяет контраст области наложения и делает переход от самой темной к самой светлой области нелинейным.
  • Gamma — gamma correction value.Gamma - значение гамма-коррекции.

    Gamma = 0.5
    Gamma = 5
Примечание
Border values can be reset by clicking the corresponding column or line name.Значения границ можно сбросить, щелкнув соответствующий столбец или имя строки.

MaskingИспользование масок#

The Mask tab allows using masks to cut out certain areas of the selected projection. Вкладка Mask позволяет с помощью масок вырезать определенные области выбранной проекции.

To create a mask, click Add and ensure that the Creation Mode button is enabled. Then create at least three points on the grid by clicking in the required place. The corresponding area of the projection will be cut out. The list of masks for the current projection is displayed under the grid. You can add new masks and remove existing ones using the corresponding buttons.Чтобы создать маску , щелкните Add и убедитесь, что кнопка Creation Mode включена. Затем создайте не менее трех точек на сетке, щелкнув в нужном месте. Соответствующая область проекции будет вырезана. Список масок для текущей проекции отображается под сеткой. Вы можете добавлять новые маски и удалять существующие с помощью соответствующих кнопок.

To add new points to the mask selected in the list, ensure that the Creation Mode button is enabled. Then you can add new points by clicking within the grid area. To insert a new point into an existing mask, select the point next to which a new point is to be added, and click to insert a new one. You can drag an existing point to move it. To remove a point, right-click it.Чтобы добавить новые точки к маске, выбранной в списке, убедитесь, что кнопка Creation Mode включена. Затем вы можете добавить новые точки, щелкнув в области сетки. Чтобы вставить новую точку в существующую маску, выберите точку, рядом с которой должна быть добавлена новая точка, и щелкните, чтобы вставить новую. Вы можете перетащить существующую точку, чтобы переместить ее. Чтобы удалить точку , щелкните ее правой кнопкой мыши.

You can also adjust your masks precisely by specifying the coordinates of each point. Select a point on the grid (its color will turn to green) and enter the coordinates in the Position fields below.Вы также можете точно настроить маски , указав координаты каждой точки. Выберите точку на сетке (ее цвет станет зеленым) и введите координаты в поля Position ниже.

You can change the type of a selected control point using the following icons:Вы можете изменить тип выбранной контрольной точки, используя следующие значки:

  • — automatic linear interpolation (no control handles available) - автоматическая линейная интерполяция (управляющие элементы отсутствуют)
  • — symmetric control handles for smooth curves - симметричные элементы управления для плавных кривых
  • — asymmetric control handles (you can control each handle independently) - асимметричные элементы управления (вы можете управлять каждым элементом независимо)
  • — automatic smooth curve (no control handles available) - автоматическая плавная кривая (элементы управления отсутствуют)

As you select a mask in the list, its parameters are displayed on the panel next to it:При выборе маски в списке ее параметры отображаются на панели рядом с ней:

  • Enabled — enables or disables display of the selected mask. Can be used for convenience when configuring overlapping regions, when there are a lot of masks.Enabled - включает или отключает отображение выбранной маски. Может использоваться для удобства при настройке перекрывающихся областей, когда много масок.
  • Name — mask name, can be edited.Name - название маски, редактируется.
  • Smooth — roundness of the mask edges.Smooth - сглаживание (скругление) краев маски.

RenderВизуализация#

The Render block of settings is located at the bottom of the Projection Configurator window. These settings are designed to facilitate fine-tuning of the projection by displaying the auxiliary elements on the actual projection.Блок настроек Render расположен внизу окна Projection Configurator. Эти настройки предназначены для облегчения точной настройки проекции за счет отображения вспомогательных элементов на реальной проекции.

  • The Debug Color option allows you to temporarily set individual colors for different projections. This helps to visualize overlapping regions.Параметр Debug Color позволяет временно установить отдельные цвета для разных проекций. Это помогает визуализировать перекрывающиеся области.
  • Show Grid — display the grid on the projection.Show Grid - отображать сетку на проекции.
  • Warp Points — display points and auxiliary red lines going from a selected point or points to the center of each side.Warp Points - отображать точки и вспомогательные красные линии, идущие от выбранной точки или точек к центру каждой стороны.
  • Blend Lines — display screen-space blend lines and auxiliary purple lines going from a selected point or points to the center of each side.Blend Lines - отображать линии смешения экранного пространства и вспомогательные фиолетовые линии, идущие от выбранной точки или точек к центру каждой стороны.

Multiple Projections' Viewing SettingsНастройки просмотра нескольких проекций#

If more than two projections are created with AppProjection, the following viewing settings can be tweaked in the System menu -> Plugins.Если с помощью AppProjection создано более двух проекций, следующие параметры просмотра могут быть изменены в файле System menu -> Plugins.

FOV

The field of view for all projections (in this case, the Camera's Field of View option is not applicable).Угол обзора для всех проекций (в этом случае опция камеры Field of View игнорируется).

Small Field of view

FOV = 60

Large Field of view

FOV = 80
Angle

Allows adjusting the viewing angle between projections: when projection surfaces are turned at some angle to each other, this angle can be entered as the Angle value and the projection is automatically recalculated to show the right image.Позволяет регулировать угол обзора между проекциями: когда проекционные поверхности повернуты под некоторым углом друг к другу, этот угол можно ввести как значение Angle, и проекция автоматически пересчитывается для отображения правильного изображения.

For example, if two surfaces are turned to each other at 40 degrees:Например, если две поверхности повернуты друг к другу на 40 градусов:

Angle

Angle = 40 degreesУгол = 40 градусов
Bezel X Compensates for the horizontal bezel of monitors. Positive values decrease the viewport space; negative ones increase it (for overlapping).Компенсирует горизонтальную лицевую панель мониторов. Положительные значения уменьшают пространство области просмотра; отрицательные увеличивают его (на перекрытие).
Bezel Y Compensates for the vertical bezel of monitors. Positive values decrease the viewport space; negative ones increase it (for overlapping).Компенсирует вертикальную лицевую панель мониторов. Положительные значения уменьшают пространство области просмотра; отрицательные увеличивают его (на перекрытие).

Saving and Loading PresetsСохранение и загрузка предустановок#

After the projection configuration is set up, it can be saved to a preset file (*.proj) to be loaded at any time (e.g. to set up another projection):После того, как конфигурация проекции настроена, ее можно сохранить в файл настроек (*.proj) для загрузки в любое время (например, для настройки другой проекции):

  • Save button to save a preset fileSave кнопка для сохранения файла с пресетами
  • Load button to load a preset fileLoad кнопка для загрузки файла с пресетами
Примечание
  • A *.proj file that you save contains settings only for the currently selected projection.Сохраняемый файл *.proj содержит настройки только для текущей выбранной проекции.
  • Settings loaded from a *.proj file are applied to the currently selected projection.Настройки, загруженные из файла *.proj, применяются к текущей выбранной проекции.

Customizing AppProjectionНастройка AppProjection#

AppProjection can be customized to support custom viewing frustums (symmetric or asymmetric ones) for each projection.AppProjection можно настроить для поддержки пользовательских пирамид видимости (симметричных или асимметричных) для каждой проекции.

AppProjection ViewportsОкна просмотра AppProjection#

AppProjection has one primary viewport, while all other viewports are rendered as auxiliary ones. By default, the primary display is the UNIGINE engine viewport used for one-monitor configuration. It uses matrices of the Player used by the engine to view the scene. Other displays are arbitrary cameras with any perspective and facing whatever direction needed. Each display has its own model-view and projection matrices. Both the primary projection and auxiliary ones can be enabled or disabled, if necessary.AppProjection имеет одно основное окно просмотра, в то время как все остальные окна просмотра отображаются как вспомогательные . По умолчанию основным дисплеем является окно просмотра движка UNIGINE, используемое для конфигурации с одним монитором. Он использует матрицы Player, используемые движком для просмотра сцены. Другие дисплеи представляют собой произвольные камеры с любой перспективой и смотрящими в любом направлении. Каждый дисплей имеет свои собственные матрицы вида и проекции. При необходимости можно включить или выключить как первичный, так и дополнительный проецирования.

  • The primary viewport can be set to any projection (for supported configurations it is already set).Основное окно просмотра может быть настроено на любую проекцию (для поддерживаемых конфигураций она уже настроена).
  • Each viewport has its own model-view and projection matrices.Каждое окно просмотра имеет свои собственные матрицы вида и проекции.
  • By default, only a primary one has a graphical user interface (render system GUI, editor widgets, wireframe, or the profiler). However, separate GUIs can be drawn on all projections.По умолчанию только основной имеет графический пользовательский интерфейс (графический интерфейс системы рендеринга, виджеты редактора, каркас или профилировщик). Однако на всех проекциях можно рисовать отдельные графические интерфейсы.
  • All viewports have their own Viewport and Reflection mask to selectively render nodes and reflections from them.У всех вьюпортов есть свои Viewport и Reflection маски для выборочной визуализации узлов и отражений от них.

Default ConfigurationsКонфигурации по умолчанию#

For default configurations, the primary viewport is set to the following projection:Для конфигураций по умолчанию основное окно просмотра настроено на следующую проекцию:

  • For 2 projections, the 1st viewport.Для 2 проекций 1-е окно просмотра.
  • For 3 projections, the 2nd viewport.Для 3 проекций 2-е окно просмотра.
  • For 4 projections, the 2nd viewport.Для 4 проекций 2-е окно просмотра.
  • For 5 projections, the 3rd viewport.Для 5 проекций 3-е окно просмотра.

How to Customize ProjectionsКак настроить проекции#

Rendering of AppProjection viewports is controlled by the wall.h script (found in the <UnigineSDK>/data/core/scripts/system/ folder). There are two possible setups depending on how the primary projection is rendered. It can be drawn by:Рендеринг вьюпортов AppProjection управляется скриптом wall.h (находится в папке <UnigineSDK>/data/core/scripts/system/). Есть две возможные настройки в зависимости от того, как рендеринга основного монитора. Его может отрисовывать:

  • The default engine renderer (the same as when a usual one-monitor application is rendered)Движковый рендерер по умолчанию (так же, как при рендеринге обычного однооконного приложения).
  • The AppProjection renderer itself (which is safer if you are going to use asymmetric frustum for the center projection and modify its model-view matrix)Собственный рендерер AppProjection (что более безопасно, если вы собираетесь использовать асимметричную пирамиду видимости для основного монитора и изменять его матрицу modelview).
Примечание
Only one of two renderers should be enabled at the same time.Одновременно может использоваться только один из двух модулей рендеринга.

The following example demonstrates how to tweak cameras configuration and choose the renderer for the main projection.В следующем примере показано, как настроить конфигурацию камеры и выбрать средство визуализации для основной проекции.

1. Using default engine renderer1. Использование модуля рендеринга движка по умолчанию#

The first variant is to render the main (primary) projection by the default engine renderer.Первый вариант - визуализировать основной монитор средством визуализации движка по умолчанию.

  1. In case the created configuration is not already supported, set the primary projection via Unigine::Plugins::AppProjection::setPrimary():Если созданная конфигурация еще не поддерживается, установите первичную проекцию через Unigine::Plugins::AppProjection::setPrimary():

    Исходный код (C++)
    // Set the first projection as a primary one
    Unigine::Plugins::AppProjection::get()->setPrimary(1);
  2. Enable all non-primary projections via Unigine::Plugins::AppProjection::SetEnabled(). The main one should be left disabled, as it is drawn by the default engine renderer.Включите все неосновные проекции через Unigine::Plugins::AppProjection::SetEnabled(). Основную следует оставить отключенной так как она отрисовывается модулем рендеринга движка по умолчанию.

    Исходный код (C++)
    // Enable the 2nd projection in a row
    // The second argument of the function sets 'enabled' flag
    Unigine::Plugins::AppProjection::get()->setEnabled(1, 1);
  3. Set projection and model-view matrices for an auxiliary projection. Установите матрицы проекции и modelview для вспомогательной проекции через Unigine::Plugins::AppProjection::SetProjection() и Unigine::Plugins::AppProjection::SetModelview().

    Исходный код (C++)
    // Settings for the 2nd projection
    Unigine::Plugins::AppProjection::get()->setProjection(1, projection_1);
    Unigine::Plugins::AppProjection::get()->setModelview(1, projection_1);

2. Using AppProjection renderer2. Использование средства визуализации AppProjection#

Another variant is to render the main projection by the AppProjection renderer. This variant can be used, for example, if you want to set up symmetric frustums for all projections.Другой вариант - визуализировать основной монитор средством визуализации AppProjection. Этот вариант можно использовать, например, если вы хотите настроить симметричные пирамиды видимости для всех мониторов.

  1. Set the projection to be used as a primary one and enable its rendering by AppProjection.Установите проекцию, которая будет использоваться в качестве основной, и включите ее рендеринг с помощью AppProjection.

    Исходный код (C++)
    // Set the first projection as a primary one
    Unigine::Plugins::AppProjection::get()->setPrimary(1);
  2. Disable rendering into the default UNIGINE viewport via Unigine::Render::setEnabled():Отключите рендеринг во вьюпорте UNIGINE по умолчанию через Unigine::Render::setEnabled():

    Исходный код (C++)
    Unigine::Render::setEnabled(0);
  3. Enable all AppProjection projections including the primary one. As a result, all viewports will be rendered by AppProjection renderer itself:Включите все проекции AppProjection, включая основную. В результате все вьюпорты будут отображаться самим средством визуализации AppProjection:

    Исходный код (C++)
    // Enable all projections
    Unigine::Plugins::AppProjection::get()->setEnabled(0, 1);
    Unigine::Plugins::AppProjection::get()->setEnabled(1, 1);
  4. Set model-view and projection matrices for all projections.Установите матрицы modelview и проекции для всех проекций.

    Исходный код (C++)
    // Settings for the 1st projection
    Unigine::Plugins::AppProjection::get()->setProjection(0, projection_0);
    Unigine::Plugins::AppProjection::get()->setModelview(0, modelview_0);
    
    // Settings for the 2nd projection
    Unigine::Plugins::AppProjection::get()->setProjection(1, projection_1);
    Unigine::Plugins::AppProjection::get()->setModelview(1, modelview_1);
Последнее обновление: 16.06.2021
Build: ()