我們在使用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打開喔。