複数のオブジェクトの中から、ランダムに選んで再生するような状況には、Random Containerを使います。例えば、ファイティングゲームのアタック、ヒット、リアクションのサウンドを、全てRandom Containerで再生させることができます。
Wwiseには2種類のランダム再生があり、標準のランダム選択ではコンテナ内のオブジェクトの再生確率が全て等しいのに対し、シャッフル選択では一度再生されたオブジェクトが選択群から外されます。
また、Random Containerの中にあるオブジェクトのウェイト付けも可能です。オブジェクトに付けられたウェイトによって、そのオブジェクトが選択されて再生される確率が増加または減少します。あるオブジェクトに設定されるウェイト付けの数値は、コンテナ内のウェイト付け数値の合計と比較されます。つまり、オブジェクトに設定された数値は、全オブジェクトの数値の合計数と同じ回数を再生した場合の、再生される可能性となります。例えば、コンテナ内のオブジェクトが2つあり、それぞれ1と100のウェイト付けが設定されている場合は、1番目のオブジェクトの再生確率が1/101となり、2番目のオブジェクトの再生確率が100/101となります。
例えば、ゲームの洞窟の場面を考えます。洞窟という環境の雰囲気を出すために、バックグラウンドに水滴が垂れるサウンドを追加します。この場合、様々な水滴サウンドをまとめて入れたRandom Containerを作成します。キャラクターが洞窟内にいる時は継続してこのサウンドを再生させたいので、コンテナの再生モードをContinuous(継続)として、ループをInfinate(無限)に設定します。限られた数のサウンドをランダムに再生させることで、リアル感が出ます。
Random Containerを作成するには:
Project Explorerで、Actor-Mixer Hierarchyにある以下のオブジェクトを1つ選択して、右クリックする。
Work Unit
Virtual Folder
Actor-Mixer
Blend Container
Random Container
Sequence Container
Switch Container
ショートカットメニューで、New Child > Random Containerを選択する。
新しいRandom Containerが作成され、Actor-Mixer Hierarchyでハイライト表示されます。
新しいRandom Container名を入力して、Enterを押す。
新しいRandom Containerをダブルクリックして、そのProperty EditorとContents Editorを開く。
Random Containerにオブジェクトを入れるために、Project ExplorerからContents Editorにドラッグする。
グループボックスRandomで、以下のオプションを1つ選択する。
Standardでは、オブジェクト群が維持される。1度再生されたオブジェクトも、これから再生される可能性のあるオブジェクトのリストから外されないため、再び再生されることがある。
Shuffle(シャッフル)では、再生されたオブジェクトがオブジェクト群から外される。全てのオブジェクトが再生されるまで、再び再生されない。
同じオブジェクトが続けて再生されるのを避けるには、Avoid repeating last x played(最後のx個は繰り返さない)オプションを選択する。
このオプションを選択した場合の動作は、StandardモードとShuffleモードで異なる。
Standardモード中は、再生するオブジェクトを完全にランダムに選択するものの、最後に再生したx個のオブジェクトを、再生リストから外す。
Shuffleモード中は、リストをリセットする時に、最後に再生したx個のオブジェクトをリストから外す。
テキストボックスAvoid repeating last x playedに、同じオブジェクトを再び再生するまでの間に、他のオブジェクトを何個、再生させるかを、入力する。
Contents Editorで、コンテナ内の各オブジェクトのウェイト付けをする。
ウェイト付けで、オブジェクトの優先順位が決まります。あるオブジェクトに設定した数値は、全体の合計数の中でそのオブジェクトが再生される可能性のある回数を表します。