我需要根据速度改变我的汽车音高。目前我正在使用答案的解决方案:https ://answers.unity.com/questions/1067016/car-engine-sound-code-unity5car-engine-sound-code.html
public float topSpeed = 100; // km per hour
private float currentSpeed = 0;
private float pitch = 0;
void Update ()
{
currentSpeed = transform.GetComponent<Rigidbody>().velocity.magnitude * 3.6f;
pitch = currentSpeed / topSpeed;
transform.GetComponent <AudioSource> ().Pitch = pitch;
}
按照这个开始,pitch
它0
会根据我的currentSpeed
Ie 而改变 - currentSpeed
/topSpeed
所以当我现在speed = topSpeed
的pitch
意愿是1
,这是一个很好的方法但是在我的情况下它会播放声音但是当我的车到达topSpeed
它时它会停止播放声音而不是再播放它即使我刹车并从零速开始
由于我是初学者中级,我认为这是因为我的汽车刚体是运动学的,但我不知道正确的原因和任何解决方案。