Epicでは、GoogleがWebRTCのバージョンにおける脆弱性を公開 (詳細はこちら)したことを認識しており、EOS SDKに対する影響および次のステップを調査しています。
以下に説明する各機能は、Epic Games が Pixel Streaming に実装した優れた新ツールです。これらの機能は新しい可能性をもたらすものの、動作が安定していないため、注意して使用する必要があります。
Pixel Streaming Player
Pixel Streaming Player を使用すると、Unreal Engine プロジェクト内のアクティブなピクセル ストリーミングを、3D 空間内のディスプレイとして表示することができます。これにより、クラウドでホストされているコンテンツを、ローカル アプリケーション内のメディア ソースとして表示できます。
Pixel Streaming Player を設定する
- Pixel Streaming プラグインおよび Pixel Streaming Player プラグインを有効にします。
- 新しいブループリント クラス (アクタ) を作成します。これを保存し、希望の名前を付けます。
-
新しいブループリント クラスを開き、2 つのコンポーネント、PixelStreamingSignalling と PixelStreamingPeer を追加します。
-
PixelStreamingSignalling コンポーネントをイベント グラフにドラッグします。このノードから、「Connect」ノードをドラッグして作成します。BeginPlay を新しいノードに接続し、URL の値に「ws://localhost」と入力します。
- PixelStreamingSignalling コンポーネントを選択し、[Details (詳細)] ウィンドウから「On Config」イベント、「On Offer」イベント、「On Ice Candidate」イベントを追加します。PixelStreamingPeer ノードから「On Ice Candidate」イベントも追加します。

-
「On Config (PixelStreamingSignalling)」ノードからドラッグして、「Set Config (Pixel Streaming Peer)」を作成します。「Set Config」と「On Config」の間で Config 値同士を接続します。
-
「On Offer (PixelStreamingSignalling)」からドラッグして「Create Answer」を作成します。「On Offer」と「Create Answer」の間で Offer 値同士を接続します。「Create Answer」の出力ノードからドラッグして、「Send Answer」ノードを作成します。「Create Answer」の Return Value を「Send Answer」の Answer 値に接続します。
-
「On Ice Candidate (PixelStreamingSignalling)」からドラッグして、「Receive Ice Candidate」を作成し、Candidate 値同士を接続します。
-
「On Ice Candidate (PixelStreamingPeer)」からドラッグして、「Send Ice Candidate (PixelStreamingSignalling)」ノードを作成します。Candidate 値同士を接続します。
-
上記を正しく実行すると、完成したブループリントは、以下のようになります。
-
ブループリントで PixelStreamingPeer コンポーネントを選択します。[Details] ウィンドウの [Properties (プロパティ)] に、[Pixel Streaming Video Sink (Pixel Streaming ビデオ シンク)] が表示されます。ドロップダウンを選択して、[Pixel Streaming Media Texture (Pixel Streaming のメディア テクスチャ)] を選択します。適宜名前を付けて、保存します。
- ブループリント アクタをシーンにドラッグします。シンプルな平面オブジェクトを作成し、適切な表示になるようにサイズと形状を変更します。
- 保存した Pixel Streaming メディア テクスチャをコンテンツ ブラウザからシーンの平面に直接ドラッグします。この操作により、マテリアルが自動的に作成され、オブジェクトに適用されます。
- このプロジェクトの外部で、基本的なローカルのピクセル ストリーミングを開始します (シグナリング サーバーを起動し、関連する Pixel Streaming 引数を指定してアプリケーションを実行します)。
-
シーンを再生します。これで、外部のピクセル ストリーミングが、シーンの平面に表示されます。
VCam
VCam は、シーンのアクタに VCam コンポーネントをアタッチし、レベルのビューポートのビデオ コンテンツを出力プロバイダーにストリーミングすることができる新機能です。
現段階では、VCam は主にバーチャル プロダクションのユース ケースを想定しています。VCam を Live Link VCam iOS アプリケーションとペアリングして、ARKit トラッキングに使用することができます。これは、Unreal Engine でバーチャル カメラを操作するうえで役立ちます。Pixel Streaming で Touch イベントを処理し、レベルのビューポートをリアルタイムのビデオ フィードとして iOS デバイスにストリーミングします。Live Link VCam の詳細については、「iOS Live Link VCam」を参照してください。
VCam の使用方法
-
Virtual Camera プラグインが有効になっていることを確認します。
-
VCam コンポーネントをシーンのアクタに追加します (以下の例では、上記のガイドで作成した Pixel Streaming Player ブループリントにアタッチされています)。
-
VCam コンポーネントで、[Output Providers (出力プロバイダー)] に移動し、ドロップダウンに [Pixel Streaming Provider (Pixel Streaming プロバイダー)] を追加します。新しい [Output (出力)] セクションを展開します。
- ストリーミングを開始および停止するには、[Output] にある [Is Active] チェックボックスを切り替えるだけです。
-
開始したら、ローカル ブラウザを開いて、「127.0.0.1」に移動し、ストリーミングされたディスプレイを確認するか、Live Link iOS アプリケーションを開いて「127.0.0.1」に移動し、[Connect (接続)] ボタンをクリックします。
ブラウザでストリーミングを操作したい場合は、ブラウザでコントロール パネルを開いて、コントロール スキームを [Hovering] に変更する必要があります。