バージョン
ゲーム中に、多くのオブジェクトなどが同時に再生される状況が起きる可能性は常にあり、中にはプロジェクトチームが設定したオブジェクトの制限数を超えることもあります。再生されるサオブジェクトの数を効率的に管理するには、同時にいくつまで再生を許可するのか、またどれを優先するべきかを、決める必要があります。
Wwiseでは、ゲーム中に同時に再生するオブジェクトを判断するための主なPriority(優先順位)として、以下の3種類があります。
Playback Limit(再生制限) - 各種インスタンスの、同時に再生できる数の制限。(バーチャルボイスはこれに含まれません。)
Playback priority(再生プライオリティ) - あるオブジェクトの別のオブジェクトと比べた時の優先度。
Volume threshold(ボリューム閾値) - この閾値未満ではの各種オブジェクトが再生されない、一定のボリュームレベル。
制限を設け、プライオリティを設定して、最低ボリュームレベルを指定することで、ゲームの多数のオブジェクトを効率的かつクリエイティブに管理でき、与えられたメモリ制限を守れます。
注釈 | |
---|---|
上記の3つのテクニックに加えて、プログラマーがサウンドエンジンのメモリプールの1つ、または複数に対して、メモリ閾値を設定することができます。Memory Threshold(メモリ閾値)設定を有効にすると、使用中のメモリ率が指定した閾値より低いかどうかを、サウンドエンジンが定期的にチェックします。もし閾値を超えた場合は、サウンドエンジンがプライオリティの低いサウンドを順番にドロップし(落し)、プライオリティが高いサウンド用にスペースを開けます。Memory Thresholdについては、Wwise SDKドキュメンテーションを参照してください。 |
例えば、非常に帯域幅が制限されたゲーム用に、ミュージックを作曲する場合を考えます。同時に再生できるボイスは最高4つ、と指示されたとします。この場合、最上位の親オブジェクトの再生制限(Playback limit)を「4」に設定します。1つのMusic Segmentに入れるトラック数を2つ以下としたので、トランジション中に2つのトラックでそれぞれプレエントリとポストエグジットの部分が再生されても、2つのボイスしか再生されません。このようにすれば、同時に2つのセグメントが再生されるとしても、再生制限数の「4」以下となります。
しかし、トランジション中にゲームがスティンガーをトリガーすると、最大ストリーム数「4」を超えてしまいます。
ボイス数が再生制限を超えると、Wwiseが各ミュージックオブジェクトの再生プライオリティ(Playback priority)を確認して、どれを停止するのかを判断します。この例では、通常のミュージックが再生され続けるように、スティンガーセグメントのプライオリティを低く設定することが予想されます。もし今回のオブジェクトが5つとも、同じプライオリティであれば、キルする(消す)対象を最新インスタンスとするのか、最古インスタンスとするのかを、選択できます。
参考として、今回の例で考えられるInteractive Music Hierarchy(ミュージック階層)の構造、Playback Limit(再生制限)、Priority(プライオリティ)を、下図に示します。
ミュージックオブジェクトやInteractive Music Hierarchyの構築については23章Interactive Music Hierarchyの構築を参照してください。