Unityカーエンジンの効果音を実現

序文

最近、ドライビングシミュレーションゲームに取り組んでおり、車にオーディオを追加する必要があります。オーディオリソースは、起動音、運転前のスタンバイ、運転の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;
                }
	}

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/qq_39162826/article/details/120225361