Epicでは、GoogleがWebRTCのバージョンにおける脆弱性を公開 (詳細はこちら)したことを認識しており、EOS SDKに対する影響および次のステップを調査しています。
以下に説明する各機能は、Epic Games が Pixel Streaming に実装した優れた新ツールです。これらの機能は新しい可能性をもたらすものの、動作が安定していないため、注意して使用する必要があります。 これらの機能は今後の Unreal Engine のリリースで変更されたり削除されたりする可能性があるため、製品の重要なコンポーネントのビルドにはこれらの機能を使用しないことを推奨します。
VCam
VCam は、新しい VCam アクタを使用し、レベルのビューポートのビデオ コンテンツを出力プロバイダにストリーミングすることができる新機能です。
現段階では、VCam は主にバーチャル プロダクションのユース ケースを想定しています。VCam を Live Link VCam iOS アプリケーションとペアリングして、ARKit トラッキングに使用することができます。これは、Unreal Engine でバーチャル カメラを操作するうえで役立ちます。Pixel Streaming により、タッチ イベントが処理されて、レベル ビューポートがリアルタイムのビデオ フィードとして iOS デバイスにストリーミングされます。Live Link VCam の詳細については、「iOS Live Link VCam」のサイトを参照してください。
VCam の使用方法
-
Virtual Camera プラグインが有効になっていることを確認します。
-
[Virtual Production (バーチャル プロダクション)] にある VCam アクタを追加します。
-
アクタを追加すると、以下に示すように VCam のビューが表示されます。
-
アクタを追加すると、ストリーミングが開始されます。Pixel Streaming ツールバーを使用してこれを開始および停止できます。
-
開始したら、ローカル ブラウザを開いて「127.0.0.1」に移動し、ストリーミングされたディスプレイを確認するか、Live Link iOS アプリケーションを開いてコンピュータの IP アドレスに移動し、[Connect (接続)] ボタンをクリックします。
ブラウザでストリーミングを操作したい場合は、ブラウザでコントロール パネルを開いて、コントロール スキームを [Hovering (ホバーリング)] に変更します。
マイクロフォンを使用する
Pixel Streaming により、Web ブラウザを介した WebRTC オーディオを使用して、特定のピア/プレイヤー マイクロフォンをエンジン内で再生できるようになりました。
プロジェクト内でマイクロフォンの使用を設定する
マイクロフォンをプロジェクトで使用するための設定は非常に簡単で、プロジェクトに単一のコンポーネントを加えるだけです。
-
Pixel Streaming プラグインを有効にします。
-
シーン内の任意のアクタに
PixelStreamingAudio
コンポーネントを加えます。その設定をデフォルトとして残しておくことができます。
それぞれのオーディオ コンポーネントでは、(Pixel Streaming プレイヤー ID を使って) 特定の Pixel Streaming プレイヤー/ピアと自身を関連付けます。
マイクロフォンをストリームで使用する
-
PixelStreamingAudio
コンポーネントを使ってプロジェクトを設定したら、Pixel Streaming に向けてアプリケーションを通常どおりに (Pixel Streaming 起動引数を使ってパッケージ化またはスタンドアローンのアプリケーションとして) 実行し、Signalling サーバーを起動します。 -
Web ブラウザを介して Signalling サーバーに接続します。
-
フロントエンドの設定パネルを開き、
Use Mic
(マイクを使用) をtrue
に設定します。下部の [Restart (再起動)] をクリックして接続し直します。 -
ブラウザによってマイクロフォンを使用するための許可を求められた場合は、アクセスを許可します。
-
マイクロフォンに向かってしゃべってみてください。ストリームを介して再生される自分の声が聴こえるはずです。
VR の Pixel Streaming
VR (仮想現実) Pixel Streaming は、Pixel Streaming を使って VR 対応アプリケーションに接続するための新機能です。この機能により、ユーザーはローカル アプリケーションを実行することなく、ヘッドセットを使って VR 体験を楽しむことができます。
プロジェクトを設定する
この例では、VR テンプレート プロジェクトを使用します。
-
VR テンプレートを使って新しいプロジェクトを作成します。
-
Pixel Streaming プラグインを有効にして、OpenXR プラグインを無効にします。エディタを再起動します。
-
コンテンツ ブラウザで「Asset_Guideline」を検索して、「B_AssetGuideline_VRTemplate」を削除します。プロンプトが表示されたら [Force Delete (強制削除)] をクリックします。
-
次に、コンテンツ ブラウザで「VRPawn」を検索します。VRPawn をダブルクリックして開き、そのブループリントをコンパイルします。正しく機能する場合はコンパイルに成功するはずです。このブループリントを保存して閉じます。
-
[Editor Preferences (エディタの環境設定)] > [Level Editor (レベル エディタ)] > [Play (プレイ)] をクリックして、「
-PixelStreamingURL=ws://127.0.0.1:8888 -PixelStreamingEnableHMD
」を追加します。
必須の証明書を作成する
Pixel Streaming で VR を使用するには HTTPS 証明書が必要になります。これは、「API は安全な接続 (HTTPS) を介してロードされたサイトのみで利用可能」とする WebXR の標準に準拠するためのものです。プロダクションで使用する場合は、WebXR に準拠するために「セキュア オリジン」を使用する必要があります。これらの要件の詳細については、こちらのサイト https://developer.oculus.com/documentation/web/port-vr-xr/#https-is-required を参照してください。
この例では、Gitbash を使って基本的な証明書を設定していきます。まだ Gitbash をインストールしていない場合は、https://www.atlassian.com/git/tutorials/git-bash に移動して、Gitbash のダウンロード手順を参照してください。
-
次の画像で示されているように、「
SignallingWebServer
」ディレクトリ内に「certificates
」フォルダを作成します。 -
「
certificates
」ディレクトリ内を右クリックして Gitbash を起動します。「openssl req -x509 -newkey rsa:4096 -keyout client-key.pem -out client-cert.pem -sha256 -nodes
」と入力します。 -
コマンドが完了するまで Enter キーを数回押します。完了すると、「certificates」フォルダ内に 2 つの
.pem
ファイルが作成されます。 -
「
SignallingWebServer
」フォルダにある「config.json
」ファイルを開き、UseHTTPS
の値をtrue
に設定します。
これで VR アプリケーションを実行してテストする準備が整いました。
上記で作成した証明書はテスティング目的のみのものです。クラウドへの完全なデプロイに向けては、適切な証明書を準備する必要があります。
VR ストリームに参加する
この例では Meta Quest 2 を使用します。
-
「
\SignallingWebServer\platform_scripts\cmd
」にあるStart_Signalling.ps1
スクリプトを起動します。 -
エディタに戻り、アプリケーションをスタンドアローンで実行します。以前のステップで起動引数を追加してあるので、アプリケーションが完全に起動すると Signalling サーバーに接続されるはずです。
-
次に VR ヘッドセットを使用して、Web ブラウザを起動してコンピュータの IP アドレスを入力します。「Connection not secure (接続が安全ではありません)」のページが表示されます。「Advanced (詳細設定)」タブを開いて「Proceed to IP (IP に進む)」をクリックします。
-
アプリケーションがブラウザ ウィンドウの 2 つのビューにストリーミングされるはずです。左側の XR ボタンをクリックして VR に切り替えます。
-
これで完了です。Pixel Streaming を使った VR プロジェクトをお楽しみください!