在游戏开发中你是否也想将音樂旋律变为漂亮的图形显示?就像这样的效果
但是,我们今天不会讨论怎样实现上面的那些效果(可以用插件实现哈哈哈…),而是聊一丅最朴素的效果实现原理了解了原理,再复杂的效果也可以实现最朴素的效果,见下图哈哈哈哈~
简单来说,我们要实现的东西就是幾个条状的UI跟随音乐的旋律,进行上下缩放而旋律,其实就是声音中的数据就是一个int值,只要取到这个数据就可以将数据通过一些计算,映射为UI的大小
下面整理一下要做的事情(以下事情都是在Update中做的):
其中第二步还可以加入更多计算处理最后只要映射到0~1之间的数值,就可以用最终是要表现效果,并不昰一定要准确的表示出音频的数据只要该高的时候高,该低的时候低那就没问题,至于高到多少低到多少,都是相对的并不重要。
在上面的代码中,因为我们是每帧采样所以UI变化会很剧烈,所以我们這里用了一个Lerp去控制变化速度但是这样也会带来一个问题就是变化幅度的减小。大家可以自己试一下自己尝试改进。
如果你用的不是 AudioSource用了别的音频插件,只要取到音频的采样数据用法都是一样的。
基本的原理已经介绍完更复杂的表现形式,也就是改变音频数据的映射形式而已~
如果你有更好的改进方法欢迎在下面留言~
上文中用到的图片分别来自unity音频插件 和插件