Genvid ストリーム¶
GenvidStreams
プレハブオブジェクトは、配信セッションに使用するゲームからのデータストリーミングを定義します。1 つの GenvidStreams
オブジェクトに複数のデータストリームを持たせることができます。アプリケーションに複数のデータストリームが必要な場合、 Ids
のサイズを変更する必要があります。この配列の各要素には、変更可能ないくつかのプロパティが含まれています。
- Id
- データストリームの名前です。アプリケーションで使用される他のストリームに対して、一意の名前を使用してください。
- Framerate
「On Submit Stream」 機能の実行頻度です。デフォルト値は 0。
0は、ストリームデータがフレームごとに送信されることを意味します (ゲームのフレームレートに直接依存) 。
他のすべての値は、Min(value, Game Framerate) という式を使用します。
たとえば、30FPS で動作するゲームでは、
- 値10では、ストリームは、Min(10, 30) = 10 フレーム/秒で送信されます。
- 値100では、ストリームは、Min(100, 30) = 30 フレーム/秒で送信されます。
- On Submit Stream (String)
選択されたフレームレートに従って実行される機能です。受け取った String のパラメータが常にストリーム名になります。その後、呼び出されるメソッドで、最適なデータの送信方法を自由に選択することができます。
- SubmitAnnotation (オブジェクトの streamID, オブジェクトデータ)
- SubmitGameData (オブジェクトの streamID, オブジェクトデータ)
- SubmitNotification (オブジェクトの streamID, オブジェクトデータ)
各メソッドには次のものが必要です:
- データを受け取るストリーム名と
- クラスにフォーマットされるデータ。
たとえば、サンプルのデータ送信方法は次の通りです。
public void SubmitGameData(string streamId) { ProjView = m_sceneCamera[m_currentActiveCamera].projectionMatrix * m_sceneCamera[m_currentActiveCamera].worldToCameraMatrix; if (GenvidSessionManager.IsInitialized) { //Getting the cube information and send it into the game data stream var cubeDataArray = from c in m_Cubes select c.InfoData; CubesGameData gameData = new CubesGameData() { cubes = cubeDataArray.ToArray(), MatProjView = Mat4ToArray(ProjView), camera = m_cameraCounter, scene = m_changeSceneCounter, }; GenvidSessionManager.Instance.Session.Streams.SubmitGameData(streamId, gameData); } }