c – 滚球的声音

前端之家收集整理的这篇文章主要介绍了c – 滚球的声音前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在寻找最现实的播放滚球声音的方式.目前,我正在使用一个Wav的样本,只要球不动,我一遍又一遍地玩.

我一直在想完全合成声音,我几乎不知道(几乎没有),我会感谢任何教学/研究材料/样品关于合成特殊材料滚动表面的球的声音合成的另一种材料.另外如果这个想法是完全错误的,请提出另一种做法.

谢谢!

解决方法

我会猜测,通过对播放频率与球的速度成比例的声音进行动态频率调整,您将获得最大的爆炸声.我不知道你使用什么类型的声音库,但大多数将支持一些这样的变体.

例如,在FMOD中,您可以使用Channel :: setFrequency方法.理想情况下,您可以根据WAV的原始采样频率(Fo),球的当前速度(Vc)和球的默认WAV声音(Vi)的“理想”速度来计算所需的播放频率.一般喜欢的东西

F = Fo *(Vc / Vi)

随着球距离“理想”速度越来越远,这将趋于分解.您可能希望有几种不同的WAV适合您以某些阈值速度切换到不同的速度范围.在每个WAV的支架中,您将进行同样的频率调整.

另一个注意事项:这可能不是值得做的每一帧.我猜这样做每秒超过20次会浪费时间.

增加:像这样的播放频率缩放也可以用于模拟多普勒效应.一旦你有了调整后的播放频率,你可以根据球相对于“听众”的速度(相机)进行另一个频率比例.

猜你在找的C&C++相关文章