GenvidSession に Data-Stream プレハブを追加します¶
ゲームからのデータストリームはオーディオ、ビデオと同期し、視聴者との新しいインタラクティブ性を作り出すことができます。このセクションでは、GenvidSesison プレハブでデータストリームを作成し、データストリーミング時に動作するスクリプトを作成する一連の流れを説明します。
エンジン統合¶
Streams プレハブを GenvidSession に、GenvidSession の子としてドラッグ&ドロップします。
GenvidSession には Streams セクションがあります。現在の Streams プレハブをこのフィールドにドラッグ&ドロップします。
Ids Size を作成するゲームデータストリーム数に変更します。
エレメントを開き、Id フィールドにユニーク名を付けます。
リピート送信を行うゲームデータを Framerate 選択します。 (再送信を行い場合は選択不要)
ゲームデータを送信するスクリプトで、1つの文字列パラメータを持つ公開関数を作成します。
On Submit Stream (String) ボックスにスクリプトとオブジェクトをドラッグ&ドロップし、ドロップダウンリストから作成した公開関数を選択します。(再送信を行い場合は選択不要)
- この処理中、String フィールドが表示されることがあります。エレメントの Id をこのフィールドに追加しておかないと、この値で呼び出しがオーバーライドされます。
公開関数で、プレハブからデータ送信コールを使用することができます。
- SubmitAnnotation: 特定時間になったときに、リピートが don’t に設定されている場合に、Web サイトにデータを送信します。
- SubmitGateData: 特定時間になったときに、リピートが do に設定されている場合に、Web サイトにデータを送信します。
- SubmitNotification: リピートが don’t に設定されている場合に (時間指定なく) すぐに、Web サイトにデータを送信します。 注釈: 通知の送信はストリーム上では送信されないため、GenvidSession プレハブに移動しました。
注釈
これらの関数は、バイナリまたは文字列データの送信のみをサポートしていることに注意してください。JSON でエンコードされたデータを送信する場合は、自分でシリアライズ処理を行わなくても、JSON でシリアライズ可能なオブジェクトを SubmitAnnotationJSON 、 SubmitGateDataJSON 、 SubmitNotificationJSON に渡すこともできます。
GenvidSessionManager から関数にアクセスする例:
GenvidSessionManager.Instance.Session.Streams.SubmitGameDataJSON(streamId, gameData);
データを格納する class を作成します。
データをクラスにすることで、Web サイトからのアクセスが容易になります。例えば、 GameDataStreams スクリプト内に Camera のクラスを作成し、オーバーレイ要素を配置するためにWeb サイトがアクセスする必要のあるフィールドのメンバーで構成します。
class のインスタンスを作成し、class にデータを格納します。
上記で使用した Submit 関数にデータを割り当てます。
新しい機能のゲームスクリプトを含むオブジェクトを、事前に追加した On Submit Stream (String) 要素にドラッグアンドドロップします。
No Function が表示されているドロップダウンリストから、上記で作成したゲームスクリプトと機能を選択します。
参考