Звук двигателя работает не идеально

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

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;
}

person Navid    schedule 11.02.2017    source источник
comment
Что вы имеете в виду под словом "багги"? Вы имеете в виду такие глюки, как запуск и остановка?   -  person Jim W says reinstate Monica    schedule 11.02.2017
comment
Вы можете проверить Time.deltaTime на случай, если это то, что прописал врач.   -  person Bitcoin Murderous Maniac    schedule 11.02.2017
comment
Я пытался сказать, что звук нечеткий. Звук как у трактора! @ Джим В.   -  person Navid    schedule 11.02.2017
comment
Что происходит, когда вы перетаскиваете ползунок высоты звука для источника звука от 0 вверх в режиме воспроизведения? это звучит правильно или все еще звучит как трактор? Действительно ли где-то вызывается carMovement()? Если нет, то он останется равным 0, что, вероятно, звучит абсурдно.   -  person TehTris    schedule 13.02.2017


Ответы (1)


Не похоже, что carMovement вызывается. Добавьте его в Update(), чтобы значение могло измениться.

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

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

person TehTris    schedule 13.02.2017