Unity & Wwiseで足音を付ける Wwise編

f:id:OtObOx:20200116150708p:plain

3D空間において人物、または動物などの足音は対象物は動いていることを示す重要な要素で、世に出ている3Dゲームで足音が無い作品は無いと言い切っても過言ではない。

そんな大役を担っている足音を今回はWwiseを通して追加する方法を記載します。

 

Wwiseで足音を制御するメリット

大きく二つの要素を簡単に行うことができます。

  • 足音のランダム化(同音連打を回避)
  • 地面のマテリアル(素材)に沿った足音の再生

どちらもゲームへの没入感を高めるにあたって非常に重要な要素となっています。

勿論Wwiseを使用しなくてもできますが、Wwiseを使うことによってこれらの要素を簡単にサウンドデザイナー側が設定できるので、プログラマーさんのコストをかけずにプロジェクトが進められます。

 

Wwise側の準備

f:id:OtObOx:20200116153515p:plain

 今回の足音は上二つのメリット推していきたいので2種類のコンテナを使っていきます。

まず一つ目はSwitch Container

このコンテナはUnity側で指定された情報、今回だとマテリアル(地面の素材)を読み取りそれに応じたサウンドをならすためのコンテナです。

そして二つ目はRandom Container

これはコンテナの中にある音源の中からランダムに選び再生するコンテナで、今回だと同音連打を回避するために使用します。

 

今回は効果音ですのでWwiseのProject ExplorerよりAudioタブにあるActor-Mixer Hierarchyの中にswitch Container、Random Containerの順でコンテナを追加していきます。(右クリックのメニューから追加できます)

f:id:OtObOx:20200116161538p:plain

一目で解る名前にする

ほぼ上記画像のような状態になりますが、Default Work Unitの下にWork Unit(プレイヤーキャラの階層)を作っておくとより便利です。

 

さて、オーディオファイルの追加です。

オーディオファイルの追加はとても簡単で、このAudioタブの中で作成したRandom Containerに直接ファイルをドラックアンドドロップします。

 

f:id:OtObOx:20200116162450p:plain

こんな感じの画面が表示される

あとはダイアログの内右下にあるImportボタンを押下すれば取り込みしてくれます。

 

f:id:OtObOx:20200116162626p:plain

最終的な階層

 

次に同じくProject ExplorerよりGame SyncsにてSwitch Containerの切り替えに必要な鍵を作っていきます。

SwitchフォルダのDefault Work Unitの中に新しくSwitch Groupを作成し更にその中に鍵となるSwitchを作成します。

※このSwitchは実際にUnity側で選択されるSwtichと同名になります。

f:id:OtObOx:20200116163509p:plain

 

次にAudioタブに戻り作成した足音Switchを選択します。

そしてSwitch Container Property Editorの中にあるGroupから先ほど作成したSwitchを選択します。

f:id:OtObOx:20200116183837p:plain

これで鍵とSwitch contatinerが結び付きました。

その下にあるDefault Switch/stateにてSwitchで何も選択されなかった際に再生される音を選択することができます。

そしてさらにその下のAssigned Objectにも作成したSwitchが追加されていることが解ります。

f:id:OtObOx:20200116163849p:plain

ここにProject ExplorerからRandom Containerを直接ドラックアンドドロップしてきます。

f:id:OtObOx:20200116164020p:plain

 

次に実際にUnityから呼び出されるイベントを作る必要があります。

Project ExplorerからEventsタブを選択しEventsフォルダのWork Unit内にゲームで呼び出すイベントを右クリックメニューから作成します。

f:id:OtObOx:20200116164335p:plain

そしてこのイベントがUnityで呼び出された時に音声をどうしたいかを指定するために、

Event Editor内で右クリックメニューよりPlayを選択します。

f:id:OtObOx:20200116164608p:plain

すると新しくイベントが追加されるので赤枠で囲まれてるTargetへProject ExplorerからAudioタブ内の作成したswitchをドラックアンドドロップします。

f:id:OtObOx:20200116165200p:plain

この辺り解りにくい

これでUnity上でFootstepイベントが呼び出された際地形に合わせた足音がランダムで再生されるようになります。

そして最後にキーF7のSoundBank(もしくはLayoutsメニューからSoundBank)を選択し、作成したイベントをSoundbank Editorの中にドラックアンドドロップ、適当なPlatformsとLanguagesを選択しGenerate Allを選択すると無事SoundBankが作成されWwise側での操作は終了となります。

お疲れさまでした!

次はUnityに移ります。

 

otobox.hatenablog.com