【发布时间】:2016-08-16 06:36:44
【问题描述】:
随着屏幕上的动作增加,一些视频游戏音乐似乎播放得更快。
他们是如何实现这种效果的,他们是否有相同的循环但只是加快了速度,他们是否将循环分成不同的部分并将它们更紧密地播放在一起?
我想我的封闭类比是“大白鲨”电影主题曲,它变得更快。
我正在寻找对此的任何意见,我不知道正确的措辞是什么。
【问题讨论】:
标签: c# unity3d game-engine
随着屏幕上的动作增加,一些视频游戏音乐似乎播放得更快。
他们是如何实现这种效果的,他们是否有相同的循环但只是加快了速度,他们是否将循环分成不同的部分并将它们更紧密地播放在一起?
我想我的封闭类比是“大白鲨”电影主题曲,它变得更快。
我正在寻找对此的任何意见,我不知道正确的措辞是什么。
【问题讨论】:
标签: c# unity3d game-engine
最简单的方法是增加音高。在 Unity 中,这可以通过修改 AudioSource.pitch 轻松完成。当它增加时,声音会更快,当减少时,声音会变慢,听起来像马里奥在水下。
假设您使用Time.timeScale 降低游戏速度或使其运行得更快,则使用下面的代码 sn-p 声音也会变慢或播放得更快:
AudioSource movingAudio;
movingAudio.pitch = Time.timeScale;
这种方法的缺点是pitch 会改变,tempo 也会改变。您将需要构建一个插件,以便在不增加速度和音高的情况下使声音播放得更快。实时重新采样音频剪辑是实际的解决方案,但这是一个复杂的话题。如果您决定制作插件,OnAudioFilterRead 用于执行此类操作。
【讨论】:
pitch 就可以了。