【Unity】人物移動的腳步聲

person walking on gray concrete pavement

我們在使用Invector 3rdPersonController時,如果想要在角色移動時發出腳步聲,那麼我們可以寫一個程式(在此例為PlayerController)放在你所建立的角色中,讓這個程式不斷地去偵測目前InputVertical這個值是否有任何的變化,如果有的話,就播放聲音,沒有的話就把聲音停止,如此就可以讓角色在移動的時候多了腳步聲了。

先看程式:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerControl : MonoBehaviour
{
    public Animator GetA;
    public AudioSource GetAudioSource;

    void Start()
    {
        GetA = this.GetComponent<Animator>();
        GetAudioSource = this.GetComponent<AudioSource>();
    }

    void Update()
    {
        if(GetA.GetFloat("InputVertical") >= 0.4f)
        {
            if (!GetAudioSource.isPlaying)
                GetAudioSource.Play();
        } else
        {
            GetAudioSource.Stop();
        }
    }
}

新增之程式以及AudioSource元件的介面如下:

記得要在AudioSource上加入聲音段,並把Play On Awake關閉,以及Loop打開喔。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *