This page has been translated automatically.
Видеоуроки
Интерфейс
Основы
Продвинутый уровень
Подсказки и советы
Основы
Программирование на C#
Рендеринг
Профессиональный уровень (SIM)
Принципы работы
Свойства (properties)
Компонентная Система
Рендер
Физика
Редактор UnigineEditor
Обзор интерфейса
Работа с ассетами
Контроль версий
Настройки и предпочтения
Работа с проектами
Настройка параметров ноды
Setting Up Materials
Настройка свойств
Освещение
Sandworm
Использование инструментов редактора для конкретных задач
Расширение функционала редактора
Встроенные объекты
Ноды (Nodes)
Объекты (Objects)
Эффекты
Декали
Источники света
Geodetics
World-ноды
Звуковые объекты
Объекты поиска пути
Player-ноды
Программирование
Основы
Настройка среды разработки
Примеры использования
C++
C#
UnigineScript
Унифицированный язык шейдеров UUSL (Unified UNIGINE Shader Language)
Плагины
Форматы файлов
Материалы и шейдеры
Rebuilding the Engine Tools
Интерфейс пользователя (GUI)
Двойная точность координат
API
Animations-Related Classes
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
VR-Related Classes
Работа с контентом
Оптимизация контента
Материалы
Визуальный редактор материалов
Material Nodes Library
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Учебные материалы
Внимание! Эта версия документация УСТАРЕЛА, поскольку относится к более ранней версии SDK! Пожалуйста, переключитесь на самую актуальную документацию для последней версии SDK.
Внимание! Эта версия документации описывает устаревшую версию SDK, которая больше не поддерживается! Пожалуйста, обновитесь до последней версии SDK.

Как подсчитать количество мест и каналов

The image demonstrates two types of arrangement. Simulation 1 requires only 1 VR Channel to run the application, and there's no network connection. A complex network of Simulations 2-4 and one PC with two monitors has 10 running PCs (instances of the application) in total, and therefore requires 10 channels. Considering the network connection available, these 10 are VR Channels.На рисунке показаны два типа компоновки. Для Симуляции 1 требуется только 1 канал виртуальной реальности для запуска приложения, и подключение к сети отсутствует. Сложная сеть, состоящая из Симуляций 2-4 и одного компьютера с двумя мониторами, имеет в общей сложности 10 работающих компьютеров (экземпляров приложения) и, следовательно, требует 10 каналов. Учитывая доступное сетевое подключение, эти 10 каналов являются каналами виртуальной реальности.

Counting Channels
Подсчет каналов#

Depending on your project's requirements and the final setup, your application may have several different views to render, such as:В зависимости от требований вашего проекта и окончательной конфигурации, ваше приложение может иметь несколько различных видов для отображения, таких как:

  • Out-the-window view for the cockpit having 4 windows each represented by a separate monitorВид из иллюминатора кабины пилота, имеющей 4 окна, каждое из которых представлено отдельным монитором
  • Electro-Optical/Infra-red (EO/IR) sensorЭлектрооптический/инфракрасный (EO/IR) датчик
  • RadarРадар
  • Dashboard with simple gauges and instrumentsПриборная панель с простыми датчиками и приборами
  • Rearview mirrorЗеркало заднего вида
  • Instructor Operator Station (IOS)Станция оператора-инструктора (IOS)

But how many channels is that?Но сколько же это каналов?

Each runtime (instance of the released application) that requires a separate computer to render a certain view or a part of a view (in case of multi-monitor/multi-projector setup) requires its own individual Channel. If you use the Wall plugin, then one instance is one PC, on which the application with this plugin is running (not the number of monitors used).Для каждой среды выполнения (экземпляра выпущенного приложения), для которой требуется отдельный компьютер для отображения определенного вида или части вида (в случае настройки нескольких мониторов/нескольких проекторов) требуется свой собственный индивидуальный канал. Если вы используете плагин Wall, то один экземпляр - это один компьютер, на котором запущено приложение с этим плагином (а не количество используемых мониторов).

Simply put, we should define how many separate views we want to have. For example, a simple plane simulator with a three-screen out-the-cabin view, with a dashboard, radar, and an IOS (Instructor Operator Station) will be implemented by running 6 application instances. For a rear-view mirror or a simple additional camera producing a low-resolution image no additional channel is instance - that is implemented by an additional camera with a viewport. Thus, for such a setup we require 6 channels. And these channels should be IG Channels, as synchronization between them is required to render coherent images.Проще говоря, мы должны определить, сколько отдельных видов мы хотим иметь. Например, простой авиасимулятор с видом из кабины на три экрана, приборной панелью, радаром и IOS (станцией инструктора-оператора) будет реализован путем запуска 6 экземпляров приложения. Для зеркала заднего вида или простой дополнительной камеры, создающей изображение с низким разрешением, дополнительный канал не требуется - его реализует дополнительная камера с обзорным экраном. Таким образом, для такой настройки нам требуется 6 каналов. И эти каналы должны быть каналами IG, поскольку для получения согласованных изображений требуется синхронизация между ними.

Of course, it is possible to combine several views and render them on a single PC, but only if the rendering load won't get too heavy (e.g. sensors and gauges displaying data rendered in low resolution or a rearview mirror rendered as a picture-in-picture). If rendering load becomes too high, a single computer might become unable to provide the required image at the required framerate, in this case the channel has to be split. An attempt to save on additional channels may result in performance and quality degradation, so please be aware that choosing an appropriate number of channels is essential for the successful implementation of your project. For example, if the truck simulator setup has four 4K monitors (two for the windshield and one for each side window) that'll end up with 16K pixels to be rendered, which might be too much for a single channel (a single PC with the Wall plugin used).Конечно, можно объединить несколько видов и отрисовать их на одном компьютере, но только в том случае, если нагрузка на рендеринг не будет слишком большой (например, датчики, отображающие данные в низком разрешении, или зеркало заднего вида, отображаемое как картинка в картинке). Если нагрузка на рендеринг становится слишком высокой, один компьютер может оказаться неспособным выдавать требуемое изображение с требуемой частотой кадров, в этом случае канал необходимо разделить. Попытка сэкономить на дополнительных каналах может привести к снижению производительности и качества, поэтому, пожалуйста, имейте в виду, что выбор подходящего количества каналов имеет важное значение для успешной реализации вашего проекта. Например, если в конфигурации симулятора грузовика есть четыре монитора с разрешением 4K (два для лобового стекла и по одному для каждого бокового окна), то в итоге будет отображаться 16 тыс. пикселей, что может быть слишком много для одного канала (для одного компьютера с используемым плагином Wall).

Decide on your setup, define what and how you plan to visualize - count all instances with significant rendering load (generation of high-resolution images for out-the-window views, high-resolution radar, and so on). Each of these instances should be rendered by a separate computer (otherwise too heavy load may lead to lags, which is totally unacceptable for a simulator).Определитесь с конфигурацией, определите, что и как вы планируете визуализировать - подсчитайте все экземпляры со значительной нагрузкой на рендеринг (генерация изображений с высоким разрешением для просмотра из окна, радар с высоким разрешением и так далее). Каждый из этих экземпляров должен быть отрисован на отдельном компьютере (в противном случае слишком большая нагрузка может привести к задержкам, что совершенно неприемлемо для симулятора).

Counting Seats
Подсчет мест#

Seats are required for developers and can be compared with an office chair for simplicity: if two persons work in different shifts they can share the same workplace.Места необходимы разработчикам, и для простоты их можно сравнить с офисными креслами: если два человека работают в разные смены, они могут занимать одно и то же рабочее место.

Some developers (such as artists) only need the Editor for work: they just assemble scenes and don't develop any logic. For such cases, there's Editor Seat, an option that allows working in the Editor.Некоторым разработчикам (например, художникам) редактор нужен только для работы: они просто собирают сцены и не разрабатывают никакой логики. Для таких случаев есть Место для редактора — опция, позволяющая работать в редакторе.

To use both Developer Seats and Editor Seats, SDK Browser should be installed and running on the PC, and the corresponding version of SDK should be downloaded and activated.Чтобы использовать как рабочие места разработчика, так и рабочие места редактора, на ПК должен быть установлен и запущен браузер SDK, а также загружена и активирована соответствующая версия SDK.

Select the SDK According to the License

Selecting the SDK According to the LicenseВыбор SDK в соответствии с лицензией

Thus, if you team has 1 artist and 3 programmers, one of which is working a night-shift, 2 Developer Seats and 1 Editor Seat might be enough for you.Таким образом, если в вашей команде есть 1 художник и 3 программиста, один из которых работает в другую смену, вам может хватить 2 мест разработчика и 1 места редактора.

Testing the Application
Тестирование приложения#

On a certain development stage, you require to test your application with a final arrangement. If this is an application that is run using Channels, you may come up with the following arrangement:На определенном этапе разработки вам необходимо протестировать ваше приложение с окончательной настройкой. Если это приложение, которое запускается с использованием каналов, вы можете предложить следующую настройку:

Run the master instance using a Seat license (the PC should have SDK installed on it), and use Channel licenses for slaves (these PCs won't require installing SDK).Запустите главный экземпляр, используя лицензию Seat (на ПК должен быть установлен SDK), и используйте лицензии канала для подчиненных устройств (на этих компьютерах установка SDK не потребуется).

Use Cases
Варианты использования#

Let us review some typical examples of simulator setups and count channels for them.Давайте рассмотрим несколько типичных примеров настроек симулятора и подсчитаем каналы для них.

Railway Simulator
Железнодорожный симулятор#

A train driving simulator with high-resolution displays may have the following setup:Симулятор вождения поезда с дисплеями высокого разрешения может быть настроен следующим образом:

  • Set of 3 monitors (1 for the windshield and 1 for each side window)Комплект из 3 мониторов (по 1 для лобового стекла и по 1 для каждого бокового)
  • Two rearview mirrorsДва зеркала заднего вида
  • DashboardПриборная панель

Total: 3 separate channels (one per window). Rearview mirrors can be rendered as picture-in-picture. Итого: 3 отдельных канала (по одному на каждое окно). Зеркала заднего вида могут отображаться как картинка в картинке.

Simple Helicopter Simulator
Простой вертолетный симулятор#

Simple CIGI-based single-user helicopter simulator with the following setup:Простой однопользовательский вертолетный симулятор на базе CIGI со следующими настройками:

  • Out-the-window view for the cockpit having 4 windows each represented by a separate monitorВид из иллюминатора кабины пилота, имеющей 4 окна, каждое из которых представлено отдельным монитором
  • Electro-Optical/Infra-red (EO/IR) sensorЭлектрооптический/инфракрасный (EO/IR) датчик
  • RadarРадар
  • Dashboard with simple gauges and instrumentsПриборная панель с простыми датчиками и приборами
  • Instructor Operator Station (IOS)Станция оператора-инструктора (IOS)

Total: 4 channels for windows, 1 for IOS, 1 for sensor, radar, and dashboard, with the need to exchange data via network, which totals to 6 IG Channels. Итого: 4 канала для Windows, 1 для IOS, 1 для датчиков, радаров и приборной панели, с возможностью обмена данными по сети, что составляет в общей сложности 6 каналов IG.

VR Classroom
Виртуальный класс#

Let's review a VR classroom or some sort of a virtual laboratory with 10 independent computers, each having a VR headset connected. Each user has their own isolated simulation. Давайте рассмотрим класс виртуальной реальности или что-то вроде виртуальной лаборатории с 10 независимыми компьютерами, к каждому из которых подключена гарнитура виртуальной реальности. У каждого пользователя есть своя собственная изолированная симуляция.

Total: each computer has an HMD (i.e. it uses one of the VR-plugins, like AppVive, AppVarjo, etc.), requiring a single VR visual channel per computer. So, we need 10 VR-channels (as computers do not interact with each other via network). Итого: на каждом компьютере есть HMD (т.е. он использует один из VR-плагинов, например, AppVive, AppVarjo и т.д.), что требует наличия одного визуального канала виртуальной реальности на каждом компьютере. Итак, нам нужно 10 VR-каналов (так как компьютеры не взаимодействуют друг с другом по сети).

Примечание
If you decide to implement network interaction between the users in the class, you'll have to replace all your VR Channels with IG Channels. The IG Channel is like an extended VR Channel with networking support.Если вы решите реализовать сетевое взаимодействие между пользователями в классе, вам придется заменить все ваши VR-каналы на IG-каналы. IG-канал - это расширенный VR-канал с поддержкой сети.
Последнее обновление: 19.04.2024
Build: ()