2017-02-11 17 views
1

Я работаю над автомобильной игрой;
Где я получаю значение высоты тона от моей скорости и текущей скорости, но звук очень глючный.
Любое решение?Звук двигателя не работает отлично

public float Topspeed=100; 
void Update() 
{ 
    AnalyzeSound(); 
} 
public void carMovement() 
{ 
    currentSpeed = wc [2].radius * wc [2].rpm * 60/1000 * Mathf.PI; 
    currentSpeed = Mathf.Round (currentSpeed); 
} 
AnalyzeSound() 
{ 
    audio.pitch = currentSpeed/Topspeed; 
} 
+0

Что значит «багги»? Вы имеете в виду глюки, такие как запуск и остановка? –

+0

Вы можете проверить [Time.deltaTime] (https://docs.unity3d.com/ScriptReference/Time-deltaTime.html) на всякий случай, это то, что доктор заказал. –

+0

Я пытался сказать, что звук не ясен. Звучит как трактор! @ Jim W –

ответ

1

Он не выглядит как carMovement. Добавьте его в Update(), чтобы значение получило шанс изменить.

public float Topspeed=100; 
void Update() 
{ 
    AnalyzeSound(); 
    carMovement(); 
} 

Также вы можете посмотреть в, используя формулу, аналогичную https://www.omega.com/techref/das/scaling.html, чтобы выяснить, как масштабировать шаг, потому что вы можете ограничить диапазон, что шаг может работать на. (Ваш использовал бы pitch и RPM, в отличие от примера, использующего напряжение и PSI ... после того, как вы определили M и B, вы пощекотите его, как pitch = M * RPM + B)