Loading... ## 效果展示 ![最终效果](https://res.lazyun.cn/typecho/2022/06/25/music_visualized.jpg?x-oss-process=style/compress) [视频演示](https://www.bilibili.com/video/BV1x94y117eW) ## 实现过程 - 核心API是 [AudioSource.GetSpectrumData](https://docs.unity3d.com/ScriptReference/AudioSource.GetSpectrumData.html), 使用这个API获取到当前播放音频的频谱数据,在做一系列转换 - 这次的可视化是基于Shader的,由GPU驱动。性能比使用GameObeject的缩放动画要高一些。 - 将音效数据传入Shader中使用了Float Array,由于图形API的限制,这里直接构造了512的数组作为最大尺寸的容器,具体缘由可以查看[**这里**](https://forum.unity.com/threads/shader-setglobalvectorarray-size-is-limited-even-when-list-is-passed.572518/) ## 代码 https://github.com/LazyunGame/UnityAudioVisualization 最后修改:2022 年 06 月 25 日 © 禁止转载 赞 0