音频集成规格书(音频 ↔ 程序契约)
这是音频与程序之间唯一的接口文档。事件名一旦发布即为 API,改名需走变更流程并同步代码与数据表。
| 项目 |
值 |
| 项目名 |
|
| 引擎 / 中间件 |
|
| 版本 |
|
| 负责人(音频 / 程序) |
|
| 最后更新 |
|
1. 事件表(Event)
| Event 名 |
触发时机 |
3D 位置来源 |
循环 |
配对 Stop 事件 |
节流(ms) |
优先级 |
备注 |
Play_Player_Footstep |
动画 Notify 接触帧 |
角色脚部 Socket |
否 |
— |
80 |
70 |
材质走 Switch |
Play_Weapon_Rifle_Fire |
开火瞬间 |
枪口 Socket |
否 |
— |
0 |
85 |
|
Play_Vehicle_Engine |
上车 |
车辆 |
是 |
Stop_Vehicle_Engine |
— |
75 |
必须成对 |
Play_UI_Menu_Hover |
UI 悬停 |
2D |
否 |
— |
50 |
90 |
不进混响 |
2. RTPC 表
| RTPC 名 |
范围 |
驱动源 |
更新频率 |
插值时间 |
影响 |
默认值 |
RTPC_Vehicle_Speed |
0–200 |
车速 km/h |
每帧 |
100ms |
引擎音高/风噪 |
0 |
RTPC_Impact_Force |
0–1 |
碰撞速度归一化 |
事件触发 |
无 |
冲击音量/失真 |
0.5 |
RTPC_Occlusion |
0–1 |
射线检测 |
10Hz |
200ms |
LPF + 音量 |
0 |
RTPC_Player_Health |
0–100 |
血量 |
变化时 |
500ms |
心跳强度 |
100 |
3. Switch / State 表
| 名称 |
类型 |
取值 |
设置者 |
默认值 |
备注 |
Switch_Surface |
Switch |
Dirt / Stone / Metal / Water / Grass |
物理材质 |
Dirt |
脚步/落地 |
State_Combat |
State |
Exploration / Combat / Stealth |
GameMode |
Exploration |
驱动音乐 |
State_Location |
State |
Interior / Exterior / Cave |
触发器 |
Exterior |
驱动混响 |
4. Bank 加载矩阵
| Bank |
内容 |
加载时机 |
卸载时机 |
预估体积 |
常驻 |
Bank_Init |
UI、玩家角色、通用反馈 |
启动 |
永不 |
8 MB |
是 |
Bank_Level1 |
关卡 1 专属 |
进入关卡 1(异步) |
离开关卡 1 |
18 MB |
否 |
Bank_VO_zh |
中文语音 |
语言选择 / 启动 |
切换语言时 |
Stream |
否 |
规则:加载用异步;卸载前必须停止该 Bank 内所有循环音;切语言时先卸载旧语言包。
5. 性能预算
| 指标 |
预算 |
实测峰值 |
状态 |
| 并发 voice |
96 |
|
|
| 音频线程 CPU |
≤ 2 ms |
|
|
| 音频内存 |
≤ 40 MB |
|
|
| 同时 Stream 数 |
≤ 8 |
|
|
| 卷积混响实例 |
≤ 2 |
|
|
6. 变更记录