序文
最近、ドライビングシミュレーションゲームに取り組んでおり、車にオーディオを追加する必要があります。オーディオリソースは、起動音、運転前のスタンバイ、運転の3つだけです。ただし、他のドライビングゲームをプレイする場合、車の速度によって効果音が変化します。固定効果音のみを使用すると、非常に一貫性がなくなります。
原理
AudioSourceによって形成されるピッチ属性値(pitch)を調整することにより、車両の速度に追従するエンジンの目的が達成されます。
達成
ピッチは、車輪のトルク、車の速度、車にかかる力などに応じて調整できます。
ホイールにトルクをかけています。
private AudioSource engineAudio;
public void FixedUpdate()
{
//1-1.5 引擎声变调,自己测试什么范围区间合适
if(motor != 0)
{
if(engineAudio == null)
{
//获取引擎声音组件,这里根据自己项目修改
engineAudio = AudioMgr.Instance.allAudioSources.First(_ => _.isPlaying && _.clip.name == "Mazda Loop");
}
engineAudio.pitch = 1 + 0.5f * Mathf.Abs(motor / maxMotorTorque);
}
else
{
if (engineAudio != null && engineAudio.pitch > 1)
engineAudio.pitch -= Time.fixedDeltaTime;
}
}