예제 #1
0
    void Update()
    {
        rpm  = Mathf.Clamp(rpm, 0, maxRpm);
        load = Mathf.Clamp(load, 0, 1);

        engineNoLoad.SetRPM(rpm);
        exhaustNoLoad.SetRPM(rpm);
        engineLoad.SetRPM(rpm);
        exhaustLoad.SetRPM(rpm);

        float loadAtten   = minAtten + (loadFade.Evaluate(load) * (maxLoadAtten - minAtten));
        float noLoadAtten = minAtten + (loadFade.Evaluate(1 - load) * (maxNoLoadAtten - minAtten));

        engineNoLoad.group.audioMixer.SetFloat(engineNoLoad.volumeParamName, noLoadAtten);
        exhaustNoLoad.group.audioMixer.SetFloat(exhaustNoLoad.volumeParamName, noLoadAtten);

        engineLoad.group.audioMixer.SetFloat(engineLoad.volumeParamName, loadAtten);
        exhaustLoad.group.audioMixer.SetFloat(exhaustLoad.volumeParamName, loadAtten);
    }