在Unity上的多个对象碰撞上播放相同的声音

5 unity-game-engine game-physics

我有一个掷骰子游戏。我有一个 6 个骰子,它在一个盒子里以随机方向施加随机力。现在,当骰子相互碰撞以及在盒子壁内碰撞时,需要产生声音。

目前,当我向每个骰子添加声音并在骰子碰撞时触发它时,当所有骰子同时播放时声音会被连接。

当所有 6 个骰子相互碰撞以及与盒子壁碰撞时,是否有更好的方法来产生真实的声音?

Biz*_*han 3

当两个相同的声音以非常小的延迟播放时,您会听到类似法兰的效果,导致它们的波长自行放大和衰减。

为了避免这种影响,您有很多选择:

  1. 为了避免播放相同的音效,而延迟对用户来说是不可想象的。(您现在可能正在玩每个骰子击中 sfx 两次)

  2. 使用不同的样本并随机播放。(如果您无法生成新样本,请尝试修改您拥有的样本,只需将其音调更改 3%-10%,以获得足够的不同样本)

  3. 如果第二个选项不能满足您的需求(项目大小增加),您可以使用第三方插件(例如主音频)在运行时从一个声音中创建多个自定义音调的声音。

  4. 您可以在代码中更改音调(在运行时),并确保两次接近的击球不会以相同(或非常接近)的音调播放