レッスン 6
目次
通常、小さなWwiseプロジェクトの場合は、1つのSoundBankだけで充分です。しかしプロジェクトが大きくなり始めると、SoundBankの使うメモリと、使えるメモリの関係が、問題になるかもしれません。その場合、オーディオコンテンツをいくつかに細かく分けて、本当に必要なものだけをロードするようにします。それを達成するには、まずゲームの仕組みやコンテンツのロードの仕方を理解すべきで、これはオーディオコンテンツをいくつかの小さいSoundBankに適切に分割するために、全体的に重要なことです。
それでは、SoundBank Managerに移り、WAGでは、どのようにオーディオコンテンツをSoundBankに分けているかを考えてください。
-
Layoutsメニューで、SoundBankを選択します。
SoundBank Managerに、WAGに現在あるSoundBankのリストがあります。SoundBanksリストの列に、4つのWork Unitと、All_In_Oneという1つのSoundBankがあります。Work Unitはそれぞれ、オーディオコンテンツの異なる分割方法を表しています。
下図は、WAG Wwiseプロジェクトに入っているすべてのSoundBankを表したもので、本レッスンで作成するものも含まれています。 |
-
All_In_One: このSoundBankに、Wwiseプロジェクトに入っているすべてのEventが含まれます。これは一時的なSoundBankで、この技能検定と、WAGの開発のときだけに使います。多くのスタジオでは、まずこのアプローチで開発を始めますが、それはゲームの形ができてくるまでオーディオコンテンツを分けるのが一般的に難しいからです。
-
General: ロードしたりアンロードしたりしてもよいエレメントもありますが、いつも使うサウンドや、常にロードしておく必要のあるサウンドが、よくあります(それを色で表示)。
このWork Unit内にGeneralというSoundBankがありますが、ここに、RegionやContextといったSoundBankに入れることができない、すべてのEventが含まれます。ミュージックやプレイヤーサウンドで、いつでも再生される可能性があるので、常にロードしておく必要があります。
-
Region: WAGの各リージョンの、それぞれのSoundBankが、このWork Unitに含まれます(それを色で表示)。
例えば、WAG Unityプロジェクトは複数のシーンに分かれていて、各シーンに独自のSoundBankや関連するオーディオオブジェクトが入っています。プレイヤーが特定のリージョンにいるとき、そのリージョンのSoundBankがロードされます。同様に、プレイヤーがそのリージョンを出るときにSoundBankがアンロードされ、メモリスペースが解放されます。
上図を見ると、WAG UnityプロジェクトのMain Sceneで、Region Triggerが透明な立体としてビジュアル化されているのが分かります。半透明の立体で、SoundBankをロードする必要のあるリージョンの範囲を示します。このため、プレイヤーがあるリージョンに入ると、それに該当するSoundBankがロードされます。このRigion Triggerはゲーム中に見えません。
-
Context: 特定の状況(コンテキスト)に合わせてロードされるすべてのSoundBankが、このWork Unitに含まれます(それを色で表示)。
例えば、QuestというSoundBankは、進行中のクエストに合わせてロードされます。Quest 6に進む際は、Quest_05というSoundBankがアンロードされて、Quest_06というSoundBankがロードされます。同様のことが、DLCというWork Unitにも当てはまり、これは特定条件を満たしたときに限りロードされます。
このSoundBank構成は、WAGにとって合理的な構成ですが、ほかのゲーム開発では別のプロジェクト構成となるかもしれません。