バージョン
コンテナもアクターミキサーも、プロジェクト階層の各種アセットをグループにまとめるために使いますが、採用するレベルや使用目的が異なります。
コンテナは、Actor-Mixer Hiearchyの第2レベルに位置し、親オブジェクトにも子オブジェクトにもなります。コンテナの中にサウンド、コンテナなどを入れて、グループを形成します。さらに、コンテナの中にコンテナを入れてネスト化させることで、多様な結果を実現させてリアルな状況を表現することも可能です。
アクターミキサーもまた、プロジェクト階層内のオブジェクトをグループにまとめるために使用しますが、コンテナよりも1段上のレベルに位置します。つまり、アクターミキサーがコンテナの親となることがあっても、逆はありえません。アクターミキサーにサウンド、コンテナ、他のアクターミキサーなどを無制限に入れ、親として設定できます。多数のWwiseオブジェクトを1つのグループにまとめて、全体に共通するプロパティを適用したい時に、アクターミキサーを使います。
ゲームの1人のキャラクターに関係するサウンドアセットをグループにまとめるために、コンテナやアクターミキサーを活用した例を、下図に示します。
注釈 | |
---|---|
モーションアセットの場合も、同じ階層レベルにコンテナやアクターミキサーを配置して階層を作り、グループにまとめることができます。 |
例えば、ファーストパーソンシューターゲームで、7種類のウェポンを使うとします。そして1つのウェポンを表す複数のサウンドに、同様のプロパティを設定したいとします。その場合、そのウェポンに関連する全てのサウンドをまとめて、1つのSequence ContainerやRandom Containerに入れます。次に、多数のウェポンのそれぞれのコンテナを、1つのSwitch Containerにまとめて入れて、全ウェポンのボリュームやピッチなどのプロパティを、まとめてコントロールします。
アセットの構造は、ゲームデザインに基づき、プロジェクトの初期段階で構築します。その時に考慮すべきプロジェクトの他のエレメントとして、Work Unit、ルーティング、ゲームシンクなどがあります。プロジェクト全体を意識することで、様々なオブジェクトを効率的にグループ分けすることができます。オブジェクトをグループ分けする際の工夫については、Actor-Mixer Hierarchyの構築に関するコツとベストプラクティスの「Actor-Mixer Hierarchyで、オブジェクトをグループにまとめる」を参照してください。
ルーティング構造やWork Unitの設定、ゲームシンクの作成などについては、以下のセクションを参照してください。