この記事シリーズでは、Unity公式が配布しているゲーム「2D Character」にWwiseでサウンドを組み込む方法を綴っています。
※当ブログではMacOS環境で作業を進めています。他OSを使用している場合は表示や操作方法に差異がある可能性があります。
はじめに
前回の記事では、Wwiseで足音をランダム再生させるオブジェクトを作成しました。
今回はUnity側をいじり実際に足音を実装させましょう。
※この記事では「Unity2019.3.2f1」を使用しています。お使いのバージョンによっては操作方法が異なる場合があります。
※Unityの用語や操作をある程度理解している方向けです。
1.Animation Eventを使おう
Animation Eventとは?
今回はAnimation Eventという仕組みを使い、足音を実装してみようと思います。
Animation Eventとは何かというと、アニメーションの特定のポイントで関数を呼び出すことができる仕組みの事です。
今回のゲーム「2D Character」の操作キャラは、アニメーションを用いて歩いている動きを表現しています。
つまり歩行アニメーションの足が設置した瞬間に、前回作成した「Footsteps」Eventを呼び出す関数を設定すれば、足音が実装できるということです。
2.呼び出す関数を追加する
まずは「Footsteps」Eventを呼び出す関数を追加しましょう。
その関数というのが
void Footsteps()
{
AkSoundEngine.PostEvent("footsteps", gameObject);
}
こいつです。
関数の名前は単純に「Footsteps」としました。
先頭の「AkSoundEngine」はWwise関連のプログラムを書き込む時に大抵つきます。
次の「PostEvent」はEventを呼び出す宣言で、その次のカッコで呼び出すEvent名と関連づけるオブジェクトを定義します。
新しくスクリプトを作るのもめんどくさいので、ジャンプ音を組み込んだ時の記事でいじったのと同じスクリプトに追加します。
以下画像の位置にある「Platformer Character 2D」スクリプトの名前欄をダブルクリックしてスクリプトを開き、
上記の「Footsteps」関数を一番最後にコピペしてしまいましょう。
これでAnimation Eventで呼び出す関数が用意できました。
3.Animation Eventを追加する
あとはAnimation Eventを追加するだけです。
レイアウトを変更しておく
作業しやすくするためにレイアウトを変えましょう。
レイアウトを4 Spilitに変更し、
GameウインドウとAnimationウインドウが同時に表示されるようにします。
めんどうですが、これをしないとAnimation Eventを入れるべきタイミングがわかりません。
walkアニメーションとRunアニメーションにEventを追加
分析してみると、このゲームの移動アニメーションは2つのアニメーションから成っているらしいです。
動き出しに「RobotBoyWalk」が再生され、すぐさま「RobotBoyRun」が再生されるという感じです。(勉強になりますね^o^)
なのでこの2つのアニメーションにAnimation Eventをつけましょう。
まずはAnimationウインドウの下記画像の場所をクリックし、
RobotBoyWalkを選択します。
するとRobotBoyWalkのアニメーションキーが表示されますので、再生しながら足が地面に設置した時を狙って下記画像のアイコンをクリックしてください。
個人差はあると思いますが筆者の場合こんな感じになりました。
この追加したイベントを選択するとインスペクターに「Function」という項目が表示されると思いますので、そこに先ほど作成した「Footsteps」という関数名を入れてください。
同様の手順で「RobotBoyRun」にも設定してください。
4.足音実装完了!
これで足音の実装は完了です。
試しにプレイしてみて確認してみてください。
音が出ない場合はWwiseとの連携がうまくいっていない可能性がありますので、WwisePickerウインドウを確認するか、Wwiseのプロジェクトを開いて今一度設定の確認とプロジェクト保存をしてください。
筆者の場合こんな感じになりました。
結構いい感じにできた気がします。
みなさんのゲームもいい感じになっていると大変嬉しいです。
ここまでお付き合いありがとうございました!
次回の記事をお楽しみに!