title: AudioLink 9.0 音乐律动系统 description: 让模型随音乐发光、变形或变色的 AudioLink 9.0 集成指南
AudioLink 9.0 音乐律动系统
AudioLink 是 VRChat 社区标准的音频响应库。它能将麦克风、玩家说话声或本地音频源的实时频率数据,转化为模型可见的动画或发光效果。
1. 核心原理:FFT 数据流
AudioLink 在后台对音频进行 FFT (快速傅里叶变换),将声音拆分为不同的频率段,并将其归一化为 0.0 到 1.0 的浮点数。
四大核心数据流 (Data Streams)
| 数据流 | 频率范围 | 对应 Animator Float | 典型 Shader 用途 |
|---|---|---|---|
| SubBass | 20-60 Hz | AL_SubBass |
极低频震动、屏幕抖动、深沉呼吸光 |
| Bass | 60-250 Hz | AL_Bass |
鼓点同步:耳机/心脏随重低音闪烁 |
| Mid | 250-2000 Hz | AL_Mid |
旋律同步:裙子颜色随人声节奏变换 |
| Treble | 2k-20k Hz | AL_Treble |
高频闪烁:金属边缘光、发丝微光 |
| Volume | 全频段 | AL_Volume |
整体亮度:说话声音越大,发光越强 |
2. 实现方式:Shader 联动 vs Animator 联动
方法 A:Shader 直连 (推荐)
兼容 AudioLink 的 Shader (如 Poiyomi, LilToon) 会直接在材质中读取这些 Float。
- 设置:在 Shader 中将 Emission Color 或 Rim Light 的来源设为 AudioLink Bass。
- 效果:无需写动画,模型会自动随鼓点发光。这是性能最低、效果最好的方式。
方法 B:Animator 驱动
如果你需要模型进行物理动作(如听到音乐时耳朵抖动)。
- 设置:在 Animator 中引用 AL_Bass 参数,设置 Transition。当 AL_Bass > 0.5 时,播放"耳朵抖动"动画。
- 平滑处理:由于 FFT 数据跳动剧烈,通常需要在 Animator 或 Shader 中设置 Smooth Damp (平滑阻尼),否则模型会看起来像触电一样抽搐。
3. Quest 兼容性与 Proxy 模式
Quest (Android) 的渲染管线不支持 AudioLink 9.0 的高级 Compute Shader 或动态纹理。
- AudioLink Proxy:这是一个专门针对 Quest 的降级方案。
- 工作原理:它不依赖 GPU 计算,而是将频率数据转换为标准的 Animator Float 或 MaterialPropertyBlock。
- 设置要求:确保开启了 Quest Proxy 开关,并使用支持 Quest 的 Shader 版本(如 Poiyomi Mobile)。
aterialPropertyBlock。
- 设置要求**:确保开启了 Quest Proxy 开关,并使用支持 Quest 的 Shader 版本(如 Poiyomi Mobile)。## 4. 创意应用案例
- 律动裙摆:将裙子的材质颜色设为由
AL_Mid驱动。当音乐节奏加快(中频增多)时,裙子自动从深蓝变为粉色。 - 全息耳机:耳机发光强度绑定
AL_Bass。只有重低音响起时,耳机才会像能量过载一样爆闪。 - 说话反馈:将
AL_Volume绑定到胸口的徽章。当你说话时,徽章会随音量大小呼吸发光,给语音交互增加视觉反馈。
⚠️ 注意:不要在一个模型上同时激活太多的 AudioLink 效果。过多的实时计算会显著增加 GPU 负载,尤其是在 Quest 上。