Unreal Engine用Genvidブループリント クラス
ゲームの準備
エディタで直接 Blueprint class を作成し、Genvid MILE SDK の Unreal プロジェクトへの統合を簡略化することができます。
これらの 5 つの class は、ビデオ、オーディオ、ストリーム、イベント、およびコマンドを統合するのに役立ちます。
GenvidAudio
GenvidVideo
GenvidStreams
GenvidEvents
GenvidCommands
GenvidSessionManager class は GenvidSession を管理しますが、GenvidSession class は、これら 5 つの class を管理します。
次の図は、これら Blueprint との関係をまとめたものです。詳細については、 Genvid モジュール設計 を参照してください。
注釈
Genvid Module は将来的に複数のセッションをハンドルするように設計されています。今のところは、現行の Genvid MILE SDK の設計に準拠して、GenvidSessionManager インスタンスが含めることができるのは単一の GenvidSession のみです。
C++ の class にマッチに基づいて Blueprint 資産を作成します。
GenvidSessionManager
Blueprint アセットをすべて作成したら GenvidSessionManager で使用するセッション class を設定します。
注意
GenvidSessionManager のインスタンスは 1 つだけであることを確認してください。あなたの実装に最も適した方法を選択します。たとえば、UGameInstance から派生した class 内で宣言することができます。
GenvidSession
次に、GenvidSession の Blueprint を選択し、セッションに使用する子 class を設定します。
GenvidVideo
セッションを設定した後、Genvid ビデオ の Blueprint を開きます。 Details パネルでビデオの Stream Name 、 Video Mode 、および Video Source を設定します (選択したビデオモードが要求する場合)。
注釈
自動ビデオモードは描画されたウィンドウ スワップ チェーンをキャプチャして Genvid MILE SDK に送信します。
テクスチャ ビデオモードでは、UTexture class から派生した任意のオブジェクトを設定できます。
GenvidAudio
Genvid オーディオ の Blueprint を開きます。 Details パネルで、オーディオの Stream Name Audio Format 、 Audio Mode を設定します。
注釈
オーディオ形式 の設定で、Genvid MILE SDK に送信されるサウンドの品質を選択します。
オーディオモード の設定で、使用するキャプチャの種類を選択します。今のところ、ゲーム機が生成するすべてのオーディオをキャプチャする WASAPI のみ利用可能です。
GenvidStreams
Genvid ストリーム の Blueprint を開きます。 Event Graph パネルで必要とするストリームを作成してください。
GenvidStream
構造体を使用してストリームを作成します。 All Possible Actions のコンテキストメニューに Make GenvidStream と入力して、 Event Graph に追加します。
Name 、 Framerate 、および必要なストリームイベントを選択します。
注意
ストリーム (Match Started) と ストリーム (Match Ended) をトリガするには、 UGenvidSessionManager
から MatchHasStarted
と MatchHasEnded
関数を明示的に呼び出す必要があります。
それぞれの選択するストリームイベントで、
カスタムイベントを追加。
カスタムイベントから呼び出したい関数にノードを追加。
ストリーム 変数にストリームを追加。
注釈
Framerate
プロパティはイベント ストリーム (チェックマーク) でのみ使用できます。
1 回だけイベントを呼び出すには、 Framerate
プロパティに 0 を設定します。
注意
GenvidStream のピンオプション にストリームイベントを選択して、カスタムイベントをリンクしないと、Blueprint はコンパイルされません。修正するには、ストリームイベントからチェックを外してください。
GenvidEvents
Genvid イベント の Blueprint を開きます。 Event Graph パネルに必要な任意のイベントを作成できます。
GenvidEvent
構造体を使用すると、イベントを作成できます。
All Actions for this Blueprint コンテキストメニューに Make GenvidEvent と入力して、 Event Graph に追加します。
- 作成するイベントごとに:
イベント Name を設定。
Replicated のボックスをチェックして、クライアント/サーバー モードをアクティブ化します。
カスタムイベントを Delegate ピンにリンク。
カスタムイベントから呼び出したい関数にノードを追加。
イベント 変数にイベントを追加します。
作成したイベントやコマンドを Web サイトに実装することを忘れないでください。参考例は イベント生成 ページを参照してください。 Web サンプル の web.js ファイルでも、具体的に説明しています。
GenvidCommands
Genvid コマンドの Blueprint を開きます。 Event Graph パネルに必要なコマンドを作成できます。
コマンドを作成するには、 GenvidCommand
構造体を使用します。
All Actions for this Blueprint コンテキストメニューに Make GenvidCommand と入力して、 Event Graph に追加します。
- 作成するコマンドごとに:
コマンド Name を設定。
Replicated のボックスをチェックして、クライアント/サーバー モードをアクティブ化します。
カスタムイベントを Delegate ピンにリンク。
カスタムイベントから呼び出したい関数にノードを追加。
コマンドに コマンド 変数を追加。
作成したイベントやコマンドを Web サイトに実装することを忘れないでください。参考例は sendCommands のページを参照してください。 Web サンプル の web-admin.js ファイルでも、具体的に説明しています。
注釈
The replicated option in GenvidEvents および GenvidCommands の複製オプションは、デリゲートを直接サーバーから呼び出すことが出来ます。リモート プロシージャ コールを使用する場合に便利です。
Genvid モジュールの開始
インスタンス化
最初に行うことは、 GenvidSessionManager
をインスタンス化することです。
これを行う一法として、
UGameInstance
ベースの class 内で宣言。アプリケーションの起動時に、Initialize() 関数を呼び出す。
アプリケーションが停止したら、Terminate() 関数を呼び出す。
注釈
この実装は、GenvidSessionManager をインスタンス化して終了する方法の一例です。お使いの実装に最善の方法を選択してください。
GenvidSessionManager を初期化後、APlayerController
に基づいて新しいBlueprint class を追加します。
Add Component をクリックし、Genvid セッションで使用する class を選択します。
注釈
GameMode class Classes セクションに PlayerController class を設定していることを確認してください。
これで Genvid モジュールの準備ができました。
現在のコードの適応については、Unreal Engine 4 Genvid クライアント/サーバー セクションを参照してください。