ゲーム制作勉強中!あこがれだったプログラマーに今からなろう!

昔、あこがれていたプログラマー。今からでも勉強してみようと思い立ち、チャレンジ開始! 勉強メモや、悪戦苦闘な日々の記録です。

3Dアクションゲーム大改造計画①:足音を追加


今日はUnity。というか、しばらく、Unity。
ちょっと前に勉強のために作った3Dアクションゲーム。
unityroom.com
音については、あちこちのフリーサイトから集めてきていましたが、この度、この拙作に音をプロデュースしてくださると、とある方々からお声がけ頂きました🤩

新しいシチュエーションの音パターンも提供いただけるので、今日から順次実装していきます!

まずは足音。
いくつかのyoutubeで足音の実装方法を学んではいたけれど、納得いく音素材が見つけられなかったので、このゲームについては、そのまま足音無しにしていました。

でも、今回提供いただく予定の音源の中に、草原・砂漠・ダンジョンの3パターンがあり、
まず砂漠パターンの音源が納品されましたので、早速実装してみたいと思います。

まず、音源管理のScriptableObject、AudioSOに足音の音源を登録。

//AudioSO

public AudioClip[] WalkingAtGrasslandSE ;//草原の足音
public AudioClip[] WalkingAtDesertSE;//砂漠の足音
public AudioClip[] WalkingAtDungeonSE;//ダンジョンの足音


次にGameManager に足音管理用の変数を追加。

//GameManager

public int WalkingArea = 1;//足音判定用 0:草原、1:砂漠、2:ダンジョン

更に、Player Controllerに足音再生用のAudioSource格納用の変数を追加。

//PlayerController

public AudioSource audioSource_FootSteps; //足音用のAudioSource格納用(Ground CheckerのAudioSource)


そして、足音を鳴らすコードを追加。

//PlayerController

public void Play_FootSteps()
{
    int StepSE = UnityEngine.Random.Range(0, 5);

    switch(gameManager.WalkingArea)
    {
        case 0:
            break;
        case 1:
            audioSource_FootSteps.PlayOneShot(AudioSO.Entity.WalkingAtDesertSE[StepSE]);
            break;
        case 2:
         break;
        }
    }


そしてそして、走るアニメーションクリップにこの関数を呼び出すトリガーを追加する。

youtu.be
やっぱり、足音があるのって自然😍