Коротко
- Pixel Streaming передаёт изображение и звук упакованного приложения Unreal Engine в веб-браузер.
- Плагин можно использовать в упакованном приложении или проекте, запущенном в режиме Standalone Game.
- Для работы в локальной сети порты 80 и 8888 должны быть открыты для обмена данными.
- Для подключения из разных сетей может потребоваться настройка STUN или TURN.
В документации Epic Games для Unreal Engine описана настройка Pixel Streaming в локальной сети и использование сервиса через веб-браузеры и мобильные устройства. Это руководство объединяет основные шаги настройки для команд, которые хотят предоставить доступ к приложению Unreal Engine для архитектурной визуализации или интерактивной презентации зрителям в той же сети. Шаги относятся к описанным в документации плагинам Pixel Streaming и Pixel Streaming 2; совместимость с операционной системой и оборудованием следует отдельно проверить для выбранной конфигурации.
1. Подготовьте приложение и плагин
Pixel Streaming передаёт не обычное окно редактора, а изображение упакованного приложения или проекта, запущенного в режиме Standalone Game. Поэтому сначала подготовьте проект для запуска в одном из этих режимов.
В Unreal Editor откройте меню
Edit > Plugins. В категорииGraphicsвключите плагинPixel StreamingилиPixel Streaming 2и перезапустите редактор.Если в проекте есть персонаж, которым нужно управлять касаниями на телефоне или планшете, включите параметр
Always Show Touch Interfaceв разделеEngine > InputменюEdit > Project Settings. Этот шаг необязателен; работа сенсорного управления также зависит от того, поддерживает ли Player Controller проекта обработку касаний.Если вы собираетесь запускать Standalone Game из редактора, введите следующий параметр подключения в поле
Additional Launch Parametersпо путиEdit > Editor Preferences... > Level Editor > Play:
-PixelStreamingURL=ws://127.0.0.1:8888Чтобы создать пример упакованного приложения, выберите
Files > Package Project > Windows (64-bit)и соберите пакет для Windows. При каждом запуске приложения нужно передавать тот же параметр подключения; в документации также описано, как добавить его в поле Target ярлыка.
Чтобы приложение продолжало передавать поток, даже если его окно свёрнуто, можно добавить параметр -RenderOffScreen. Он запускает приложение без видимого окна и не является обязательным для каждого проекта.
| Параметр | Рекомендуемое значение | Результат |
|---|---|---|
| Параметр подключения Pixel Streaming | -PixelStreamingURL=ws://127.0.0.1:8888 | Подключает приложение к серверу на локальном компьютере. |
| Порты для обмена данными в локальной сети | Открыты 80 и 8888 | Обеспечивают базовую связь между браузером и приложением Unreal Engine. |
| Сенсорный интерфейс | Включён Always Show Touch Interface; необязательно | Показывает экранные элементы управления в проектах с поддержкой сенсорного ввода. |
| Запуск без окна | -RenderOffScreen; необязательно | Запускает приложение без видимого окна. |
2. Запустите серверы Pixel Streaming
Веб-интерфейс и серверные компоненты входят в Pixel Streaming Infrastructure и работают отдельно от приложения Unreal Engine. В руководстве Epic для начала работы предлагается получить эти компоненты из репозитория GitHub или воспользоваться командой get_ps_servers из установленного пакета. В примере из документации для ветки репозитория указана 5.7; это не означает, что именно эту ветку нужно выбирать во всех случаях. Проверьте, какая ветка совместима с используемой версией Unreal Engine.
Получите файлы инфраструктуры и найдите скрипты сервера в папке
SignallingWebServer.В примере для Windows откройте PowerShell от имени администратора и запустите следующий скрипт для установки зависимостей:
SignallingWebServer\platform_scripts\cmd\setup.batЗатем запустите сервер сигнализации:
SignallingWebServer\platform_scripts\cmd\start_with_stun.batПосле запуска сервера в выводе появятся сообщения о том, что он принимает соединения publisher WebSocket на порту 8888 и player WebSocket на порту 80, а также что HTTP-служба работает на порту 80. Перед запуском остановите другие веб-серверы, работающие на том же компьютере. Для Linux и Mac процесс аналогичен; в документации указано, что вместо скриптов Windows следует использовать скрипты из SignallingWebServer\platform_scripts\bash.
Когда приложение и серверы запущены, откройте в браузере адрес http://127.0.0.1. Подключившись к странице проигрывателя, нажмите на неё, чтобы запустить поток. Другие компьютеры и мобильные устройства в той же локальной сети могут подключаться, используя сетевой IP-адрес компьютера-сервера вместо 127.0.0.1.
3. Продумайте сетевой доступ и управление для пользователей
Первые испытания лучше проводить на том же компьютере или в локальной сети: так проще отделить проблемы настройки от неполадок внешнего подключения. В руководстве для начала работы сказано, что для обмена данными в локальной сети должны быть открыты порты 80 и 8888. Если планируется доступ из разных сетей, открытия только этих портов может быть недостаточно: на подключение могут влиять NAT, подсети и сети мобильных операторов.
В таких случаях в конфигурацию peerConnectionOptions сервера сигнализации можно добавить данные STUN- или TURN-сервера. STUN помогает конечным точкам определить внешние IP-адреса. TURN передаёт медиапоток через сервер, поэтому нужно учитывать требования к пропускной способности и нагрузку на передачу данных. В документации Epic указано, что TURN может потребоваться в сетях мобильных операторов или защищённых корпоративных сетях. При настройке сервера с доступом из интернета отдельно продумайте конфигурацию и безопасность доступа; пример для локальной сети не следует напрямую рассматривать как готовый сервис для production.
На странице проигрывателя по умолчанию подключённые устройства могут передавать ввод с клавиатуры, мыши и сенсорного экрана. Если во время презентации управлять приложением должен только сервер, а остальные участники должны лишь наблюдать, можно настроить отдельные HTML-страницы проигрывателя для разных групп пользователей. Это позволяет разграничить доступные способы управления для пользователей, подключённых к одному сеансу Unreal Engine.
Влияние на рабочий процесс архитектуры и визуализации
Pixel Streaming позволяет показывать интерактивную сцену Unreal Engine на разных экранах через веб-страницу. Возможность подключаться через браузер без установки дополнительного ПО на устройства зрителей упрощает проведение презентаций и просмотр проектов. Однако сцена работает на удалённом хост-компьютере, а подключённые устройства получают её изображение. По умолчанию пользователи также могут совместно отправлять команды управления, поэтому права на управление нужно продумать заранее.
Качество изображения может зависеть от мощности GPU и объёма памяти, доступных на хост-компьютере. При предоставлении доступа через интернет или большому количеству одновременных пользователей нужно учитывать оборудование сервера, сетевые условия и подход к масштабированию. Epic рекомендует динамическое масштабирование для крупных развёртываний или систем с переменной нагрузкой. Запуск фиксированного числа приложений может подойти для небольших проектов, но есть риск нерационального использования ресурсов или ожидания свободного подключения. Функция SFU может быть полезна при большом количестве зрителей и различных сетевых условиях, однако в документации она обозначена как экспериментальная.
Частые ошибки
Не перезапустить редактор после включения плагина или запустить приложение не в упакованном режиме и не как Standalone Game.
Запустить приложение без параметра подключения или попытаться подключиться через браузер до запуска серверов.
Начать тестирование сразу через интернет, а не в локальной сети: в этом случае сложнее выявлять проблемы, связанные с NAT, STUN/TURN и брандмауэром.
Не проверить, открыты ли порты 80 и 8888, или допустить конфликт с другим веб-сервером, работающим в той же конфигурации.
Не учесть, что по умолчанию все участники презентации могут отправлять команды управления в один и тот же сеанс.
После первого успешного подключения отдельно проверьте ввод с клавиатуры, мыши и, если необходимо, сенсорного экрана. Если планируется публикация через интернет или развёртывание для нескольких пользователей, протестируйте сетевую конфигурацию, мощность сервера и права пользователей на этапе пилотного запуска.
Источники
Источников: 3Тексты источников не перепечатываются; короткие цитаты отмечены, остальное — наш пересказ и комментарий.
Для архитектурных бюро и команд визуализации в Турции практическая ценность Pixel Streaming — возможность просматривать интерактивную сцену Unreal Engine через браузер. Отсутствие необходимости устанавливать дополнительное ПО на устройства зрителей может упростить презентацию, однако производительность GPU и объём памяти хост-компьютера напрямую влияют на качество работы.
Первоначальную настройку лучше проводить в локальной сети — так проще выявить проблемы с сетью и брандмауэром. При доступе через интернет нужно учитывать STUN/TURN, пропускную способность и возможные расходы на сервер. При работе с несколькими пользователями особенно важно заранее протестировать стандартный режим совместного управления и экспериментальную функцию SFU.
Частые вопросы
Какие порты должны быть открыты для Unreal Engine Pixel Streaming?
В руководстве Epic для начала работы указано, что для обмена данными в локальной сети должны быть открыты порты 80 и 8888. Значения по умолчанию можно изменить; доступные параметры следует проверить в справочнике Pixel Streaming.
Работает ли Pixel Streaming между разными сетями или через интернет?
Да, но NAT, подсети и сети операторов могут препятствовать подключению. В таких случаях может потребоваться настройка STUN или TURN через `peerConnectionOptions`.
Как запускать проект Unreal Engine для Pixel Streaming?
Проект нужно запустить как упакованное приложение или выбрать режим Standalone Game в Unreal Editor. Приложение следует запускать с параметром подключения Pixel Streaming.



