1.12.0 から 1.13.0 へのアップグレード¶
toolbox
Terraform 変数は、必要ではなくなりました。¶
Genvid AMI には、Genvid Python Toolbox パッケージがプリインストールされています。 変数が global settings に存在する場合でも更新されますが、存在しない場合は追加されません。
メモリ制限が適用されるようになりました。¶
Linux サーバー AMI ディストリビューションには、コンテナのメモリ制約の強制への対応が含まれています。Nomad の現行バージョンのデフォルトの制限は 10MB で、一部のタスクにはこの値は小さすぎます。resource memory configuration を cloud jobs templates に追加すると、メモリ制限を変更することができます。例:
job "web" {
...
task "web" {
...
resource {
memory = 100 // 100MB limit
}
}
}
ローカルと Windows のジョブでは引き続き raw_exec driver を使用し、この変更の影響を受けません。
genvid.toolbox.BastionAPI.set_cluster
関数には新しい引数が追加されました。¶
- is_static: クラスタが静的かどうか。静的クラスタは、terraform を必要としません。 ローカルクラスタは、静的クラスタの良い例です。
- static_output: terraform のような出力です。静的クラスタを動作させるには、変数 server_public_ips が必要です。
Genvid Unity プレハブのビデオキャプチャタイプリストに、カメラはありません。¶
ドロップダウンリストから Texture
キャプチャタイプを使用することで、Camera
キャプチャタイプを利用できるようになりました。これまで Camera
ビデオキャプチャタイプを使用していた場合は、Genvid ビデオスクリプトのキャプチャタイプのドロップダウンリストから Texture
に変更します。
Genvid Terraform Repositoryをバージョン管理するようになりました。¶
SDK-X.Y.Z/
を前に付けることで、Genvid モジュールをバージョン管理するようになりました。これにより、複数のバージョンの SDK (及びクラスタ) をより安定して同時に使用することができます。スクリプトや他のモジュールがそれらを参照している場合は、直ちにバージョン番号を前に付ける必要があります。この SDK の実際のリポジトリ名を取得するには、 get_genvid_repository_name()
を使用します。
UE4 Genvid モジュール¶
1.13.0 の Unreal Engine Genvid モジュール は、バージョン 1.12.0 以降の大きな変更です。このバージョンでは完全なクライアント/サーバーアーキテクチャを実装しています。
新しい Genvid モジュールでも以前のバージョンと互換性がありますが、コードは使用されなくなりました。
変更することなく 1.12.0 から 1.13.0 に更新が可能ですが、コードを新しいバージョンへ移行することをお勧めします。
1.13.0 への更新方法¶
説明事項¶
GenvidStreamer は、5 つの異なる classes に分割されました。
新しい classes を 2 つ追加しました。
参考
classes の詳細は ゲームの準備 を参照してください。
移行¶
必要な機能ごとに Blueprint class を作成してください。
作成した各 class をパラメータ化します。
詳細については、GenvidVideo 、 GenvidAudio 、 GenvidStreams 、 GenvidEvents 、 および GenvidCommands を参照してください。
GenvidSession に新規作成したビデオとオーディオの classes を設定します。
GenvidSessionManager に新規作成した GenvidSession を設定します。
インスタンス化と GenvidSessionManager を初期化して終了する。
この段階で、ビデオとオーディオをストリーム配信する準備が整います。
ストリーム、イベント、コマンドの宣言の詳細については、GenvidStreams 、 GenvidEvents 、 および GenvidCommands を参照してください。
クライアント/サーバー¶
現在のコードを Unreal Engine用Genvidクライアント/サーバー アーキテクチャに適合させる必要があります。
これを行うには、コードを 2 つに分割します。
- クライアントは、権限を持つサーバーにリモートプロシージャコール (RPC) を送信します (PlayerController 側)。
- サーバーは、接続されているすべてのクライアントに RPC を送信します (Multicast、GameState 側)。
APlayerController
を元に、Blueprint class を作成します。Add Component をクリックし、追加します。
AGameState
を元に、Blueprint class を作成します。GenvidEvents と GenvidCommands で作成したイベントとコマンドの GameState class のカスタムイベントを追加します。
GenvidEvents と GenvidCommands のコールバックは、直接コードではなく、GameState class で作成したカスタムイベントを呼び出すようにしてください。