【问题标题】:Engine sound is not working perfectly发动机声音无法正常工作
【发布时间】:2017-02-14 23:01:39
【问题描述】:

我正在开发一款汽车游戏;
我从最高速度和当前速度获得音高值的地方,但声音非常有问题。
有什么解决办法吗?

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

【问题讨论】:

  • “越野车”是什么意思?您的意思是启动和停止之类的故障?
  • 您可以查看Time.deltaTime,以防万一是医生要求的。
  • 我的意思是声音不清晰。听起来像拖拉机! @吉姆W
  • 在播放模式下,将音频源的音高滑块从 0 向上拖动会发生什么情况?它听起来“正确”还是听起来仍然像拖拉机? carMovement() 真的在某处被调用吗?如果不是,它将保持为 0,这可能听起来很拖拉。

标签: c# unity3d unity5 audio-player


【解决方案1】:

看起来carMovement 没有被调用。将其添加到 Update() 中,以便值有机会更改。

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

此外,您可能希望使用类似于https://www.omega.com/techref/das/scaling.html 的公式来确定如何调整音高,因为您可能希望限制音高可以操作的范围。 (与使用电压和 PSI 的示例相反,您的示例将使用音高和 RPM……一旦您弄清楚 M 和 B,您就会像 pitch = M * RPM + B 一样将其加入)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-18
    • 1970-01-01
    • 1970-01-01
    • 2020-10-21
    • 2019-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多