Epicでは、GoogleがWebRTCのバージョンにおける脆弱性を公開 (詳細はこちら)したことを認識しており、EOS SDKに対する影響および次のステップを調査しています。
Pixel Streaming Infrastructure には、Pixel Streaming プラグインのサーバー コンポーネントとフロントエンド コンポーネントが含まれています。コンポーネントには Pixel Streaming の実行に必要なスクリプト (シグナリング サーバー、Matchmaker、SFU) が含まれており、簡単にアクセスして、変更できるように設計されています。 さらに、目的とする Pixel Streaming 体験のニーズに合わせてデベロッパーが変更したり拡張したりできる基盤が含まれます。 以前は、これらのスクリプトはプロジェクトおよびエンジンの「Samples/PixelStreaming」ディレクトリに格納されていました。Pixel Streaming を今後も使用する場合は、新しいインフラストラクチャを使用することが推奨されます。Pixel Streaming に対する最新のフロントエンドの更新はすべてこのインフラストラクチャに対して行われるからです。
新しいインフラストラクチャを推奨する理由
Pixel Streaming のフロントエンドを独自のリポジトリに移行したのは、次の理由からです。
-
Pixel Streaming のリリース頻度を改善するため。インフラストラクチャが独自のリポジトリに存在するため、Unreal Engine への更新に拘束されません。
-
Unreal Engine のライセンシーおよびユーザーの関与を促し、簡単に貢献できるようにするため。
インフラストラクチャを取得する
Pixel Streaming Infrastructure には 3 種類の方法 でアクセスできます。 下の方法はよく使用され、ほとんどのユースケースに当てはまります。
ZIP ファイルをダウンロードする
インフラストラクチャを ZIP 形式で https://github.com/EpicGamesExt/PixelStreamingInfrastructure から直接ダウンロードできます。 必要なインフラストラクチャのブランチに移動し、緑色のコード ボタンを押します。ZIP をダウンロードするオプションが表示されます。
Git のコマンドを使用する
Git をローカルにインストールしている場合、コマンドラインを使用してインフラストラクチャを取得できます。たとえば、
任意の端末で git clone --branch UE5.4 https://github.com/EpicGamesExt/PixelStreamingInfrastructure.git
を使用します (git がインストールされていることを確認)。
上記の git コマンドは、インフラストラクチャの 5.4 ブランチをプルします。別のブランチが必要な場合は、git コマンドを適宜修正してください。
指定されたスクリプトを使用する
Pixel Streaming プラグインを有効にすると、インフラストラクチャの必須ブランチを自動でプルするスクリプトが見つかります。
\Engine\Plugins\Media\PixelStreaming\Resources\WebServers
に移動して get_ps_servers
コマンドを実行します (Windows には .bat
スクリプトを、Linux または Mac には .sh
スクリプトを必ず使用)。これにより、Pixel Streaming Infrastructure の関連ブランチが自動的にそのフォルダに取り込まれます。
ダウンロードしたインフラストラクチャが Pixel Streaming 対応プロジェクトに自動でパッケージされるため、この方式が推奨されます。この方式を使用しない場合でも、上記の場所にインフラストラクチャを手動で配置することで、インフラストラクチャをプロジェクトのパッケージに確実に追加できます。
インフラストラクチャのレイアウト
上記のいずれかの方法でインフラストラクチャをプルした後、以下に示すようにローカル ファイルのセットアップが完了します。GitHub で直接インフラストラクチャを参照することもできます。
Pixel Streaming コンポーネントの格納場所は次のとおりです。
-
Frontend:このディレクトリには、Web ブラウザで実行され、Unreal Engine の Pixel Streaming アプリケーションへの接続とやり取りを可能にする HTML、CSS、画像、JavaScript / TypeScript コード、さらにこれらのインタラクションの実装法に関するドキュメントが含まれます。
-
Matchmaker:このディレクトリには、Matchmaker の設定と実行に必要なすべてのスクリプトが含まれています。
-
SFU:このディレクトリには、Selective Forwarding Unit の設定と実行に必要なすべての要素が含まれています。
-
SignallingWebServer:シグナリング サーバー、Web サーバー、フロントエンドなど、Pixel Streaming の必須要素が格納されているディレクトリです。
「platform_scripts
」ディレクトリは、各 Pixel Streaming 要素を起動するために使用するすべてのスクリプトが格納されている場所です。Windows 用のスクリプトは「cmd
」に、Linux と Mac 用のスクリプトは「bash
」にあります。
Matchmaker と Selective Forwarding Unit の使用については、「ホスティングおよびネットワーキングの操作ガイド」を参照してください。
基本的な Pixel Stream の設定方法については、「Pixel Streaming の概要」を参照してください。
フロントエンドをカスタマイズする方法については、「Frontend/Docs/」ディレクトリを参照してください。
エンジンのバージョン
Pixel Streaming Infrastructure には、エンジンのバージョンごとに異なるブランチがあります。Pixel Streaming プラグインはエンジンのバージョンごとに異なるため、互換性のあるバージョンの Pixel Streaming Infrastructure を使用する必要があります (例:Unreal Engine 5.0 向けはブランチ 5.0)。アクティブ開発に使用するマスター ブランチも利用できます。このブランチは最新の機能を備えているものの、実験段階であり、動作の安定は保証されていません。
現時点でサポートされている Unreal Engine バージョンのリストに対するフロントエンド リポジトリのバージョン セクションを参照してください。