我正在寻找最真实的播放滚球声的方法.目前我正在使用Wav样本,只要球正在移动,我就会一遍又一遍地玩 - 这感觉不对.
我一直在考虑完全合成声音,我对此几乎一无所知(几乎没有),我很感激任何关于合成由特定材料制成的球的声音的教程/研究材料/样品制成的表面制作另一种材料.如果这个想法完全错误,请提出另一种方法.
谢谢!
我猜你会通过对声音进行动态频率调整来获得最大的收益,这使得播放频率与球的速度成正比.我不知道你使用什么类型的声音库,但大多数会支持这个的一些变体.
例如,在FMOD中,您可以使用Channel :: setFrequency方法.理想情况下,您可以根据WAV的原始采样频率(Fo),球的当前速度(Vc)以及默认WAV右侧(Vi)的球的"理想"速度来计算您想要的播放频率.通常喜欢的东西:
F = Fo*(Vc/Vi)
随着球越来越远离"理想"速度,这将倾向于分解.您可能希望有几种不同的WAV适用于您在特定阈值速度下切换到的不同速度范围.在每个WAV的支架内,您可以进行相同类型的频率调整.
另一个注意事项:这可能不值得每一帧都做.我猜这样做每秒超过20次是浪费时间.
ADDENDUM:这样的播放频率缩放也可用于模拟多普勒效应.一旦调整了播放频率,就可以根据球的速度相对于"听众"(摄像机)执行另一个频率刻度.
你有没有试过向前播放声音,然后向后播放,然后循环播放?我以图形方式使用这个技巧来创建重复模式.我对声音知之甚少,但可能有用吗?
一种方法可能是分析滚球的声音,并将其分解为其分量波形.然后你就可以用合成波生成自己的wav文件.
你应该可以在声音样本上使用FFT来做到这一点.
一个缺点是声音可能会合成声音 - 您必须添加噪音等,以使其听起来更逼真.让它听起来足够真实可能是最困难的部分.