60 lines
2.3 KiB
Markdown
60 lines
2.3 KiB
Markdown
---
|
||
title: "Spatial Audio"
|
||
type: concept
|
||
tags: [game-audio, 3d, spatialization]
|
||
sources: [game-audio-engineer]
|
||
last_updated: 2026-04-26
|
||
---
|
||
|
||
## Aliases
|
||
- 3D Audio
|
||
- 3D Spatialization
|
||
- World-space Audio
|
||
- Positional Audio
|
||
|
||
## Definition
|
||
|
||
基于 3D 空间化的音效定位与衰减系统。所有世界空间音效(diegetic sounds)必须使用 3D 空间化,通过 raycast 驱动的 occlusion/obstruction 参数和 reverb zone 匹配,实现物理真实的听音体验。核心原则:**所有世界空间音效必须使用 3D 空间化,场景音效不得使用 2D 播放**。
|
||
|
||
## Core Mechanism
|
||
|
||
### Attenuation(衰减)
|
||
| 参数 | 说明 |
|
||
|------|------|
|
||
| Minimum Distance | 满音量距离(米) |
|
||
| Maximum Distance | 不可听距离(米) |
|
||
| Rolloff | Logarithmic(真实)/ Linear(风格化)——按游戏指定 |
|
||
|
||
### Occlusion & Obstruction
|
||
- **方法**:从 listener 到声源的 raycast
|
||
- **参数**:`Occlusion`(0=开放,1=完全遮挡)
|
||
- **最大遮挡**:低通滤波截止频率 800Hz
|
||
- **每帧限制**:最多 4 个 raycast(跨帧错开更新)
|
||
|
||
### Reverb Zone 规格
|
||
| 区域类型 | Pre-delay | 混响时间 | Wet % |
|
||
|---------|-----------|---------|-------|
|
||
| Outdoor | 20ms | 0.8s | 15% |
|
||
| Indoor | 30ms | 1.5s | 35% |
|
||
| Cave | 50ms | 3.5s | 60% |
|
||
| Metal Room | 15ms | 1.0s | 45% |
|
||
|
||
Reverb zone 必须与视觉环境匹配。
|
||
|
||
## Advanced: HRTF & Ambisonics
|
||
- **HRTF**(Head-Related Transfer Functions):用于真实仰角定位,在第一人称/VR 上下文中提供更真实的音频空间感
|
||
- **FOA**(First-Order Ambisonics):VR 音频首选,从 B-format 到耳机双耳解码
|
||
- **关键原则**:资产以单声道制作,让空间引擎处理 3D 定位——永远不要预烘焙立体声定位
|
||
|
||
## Connections
|
||
- [[AdaptiveMusic]] ← extends ← [[SpatialAudio]]:音乐系统也受益于空间化(玩家移动时音乐视角变化)
|
||
- [[AudioMiddleware]](FMOD/Wwise):提供空间化 API
|
||
- [[game-audio-engineer]] ← authored_by ← [[GameAudioEngineer]]
|
||
|
||
## Related Concepts
|
||
- [[AdaptiveMusic]]:自适应音乐系统,与空间音频共享中间件基础设施
|
||
- [[Ambisonics]]:高阶空间音频格式(作为 Spatial Audio 的进阶形式)
|
||
|
||
## Sources
|
||
- [[game-audio-engineer]]:完整规范包括 Attenuation 参数表、Occlusion raycast 策略、Reverb Zone 规格表、HRTF/FOA 高级配置
|