|
| 1 | +# 游戏音效资源获取指南 |
| 2 | + |
| 3 | +> **状态**: 音效占位符待替换 |
| 4 | +> **测试文件**: `tests/sound_effects_tdd.rs` |
| 5 | +> **更新日期**: 2026-01-29 |
| 6 | +
|
| 7 | +--- |
| 8 | + |
| 9 | +## 📋 音效对照表 |
| 10 | + |
| 11 | +### 卡牌相关音效 |
| 12 | + |
| 13 | +| 音效ID | 中文名称 | 文件名 | 时长 | 推荐来源 | 状态 | |
| 14 | +|--------|----------|--------|------|----------|------| |
| 15 | +| `CardPlay` | 出牌音效 | `card_play.ogg` | 0.5-1s | 动漫卡牌出牌声 | ⏳ 占位符 | |
| 16 | +| `DrawCard` | 抽牌音效 | `draw_card.ogg` | 0.3-0.5s | 扑克牌抽牌声 | ⏳ 占位符 | |
| 17 | +| `ShuffleCard` | 洗牌音效 | `shuffle_card.ogg` | 0.5-1s | 扑克牌洗牌声 | ⏳ 占位符 | |
| 18 | +| `CardHover` | 卡牌悬停 | `card_hover.ogg` | 0.2-0.3s | 轻微魔法声 | ⏳ 占位符 | |
| 19 | +| `CardSelect` | 卡牌选中 | `card_select.ogg` | 0.3-0.5s | 确认提示音 | ⏳ 占位符 | |
| 20 | + |
| 21 | +### 战斗相关音效 |
| 22 | + |
| 23 | +| 音效ID | 中文名称 | 文件名 | 时长 | 推荐来源 | 状态 | |
| 24 | +|--------|----------|--------|------|----------|------| |
| 25 | +| `PlayerAttack` | 玩家攻击 | `player_attack.ogg` | 0.5-1s | 武器挥砍/剑击声 | ⏳ 占位符 | |
| 26 | +| `PlayerHit` | 玩家受击 | `player_hit.ogg` | 0.3-0.5s | 受伤呻吟/撞击声 | ⏳ 占位符 | |
| 27 | +| `EnemyHit` | 敌人受击 | `enemy_hit.ogg` | 0.3-0.5s | 打击音效 | ⏳ 占位符 | |
| 28 | +| `Block` | 格挡音效 | `block.ogg` | 0.3-0.5s | 金属/盾牌格挡声 | ⏳ 占位符 | |
| 29 | +| `CriticalHit` | 暴击音效 | `critical_hit.ogg` | 0.5-1s | 强力打击+重击声 | ⏳ 占位符 | |
| 30 | +| `Dodge` | 闪避音效 | `dodge.ogg` | 0.3-0.5s | 风声/快速移动声 | ⏳ 占位符 | |
| 31 | + |
| 32 | +### 法术/技能音效 |
| 33 | + |
| 34 | +| 音效ID | 中文名称 | 文件名 | 时长 | 推荐来源 | 状态 | |
| 35 | +|--------|----------|--------|------|----------|------| |
| 36 | +| `LightningStrike` | 天雷落下 | `lightning_strike.ogg` | 1-2s | 雷声+电击声 | ⏳ 占位符 | |
| 37 | +| `FireSpell` | 火焰法术 | `fire_spell.ogg` | 0.5-1s | 火焰燃烧声 | ⏳ 占位符 | |
| 38 | +| `IceSpell` | 冰霜法术 | `ice_spell.ogg` | 0.5-1s | 冰冻破碎声 | ⏳ 占位符 | |
| 39 | +| `Heal` | 治疗音效 | `heal.ogg` | 0.5-1s | 圣光/恢复声 | ⏳ 占位符 | |
| 40 | +| `BuffApply` | 增益施加 | `buff_apply.ogg` | 0.3-0.5s | 能量上升声 | ⏳ 占位符 | |
| 41 | +| `DebuffApply` | 减益施加 | `debuff_apply.ogg` | 0.3-0.5s | 负面魔法声 | ⏳ 占位符 | |
| 42 | +| `ShieldUp` | 护盾升起 | `shield_up.ogg` | 0.3-0.5s | 能量护盾声 | ⏳ 占位符 | |
| 43 | + |
| 44 | +### 大招/终极技能音效 |
| 45 | + |
| 46 | +| 音效ID | 中文名称 | 文件名 | 时长 | 推荐来源 | 状态 | |
| 47 | +|--------|----------|--------|------|----------|------| |
| 48 | +| `UltimateStart` | 大招起手 | `ultimate_start.ogg` | 1-2s | 能量聚集+前摇 | ⏳ 占位符 | |
| 49 | +| `UltimateRelease` | 大招释放 | `ultimate_release.ogg` | 2-3s | 强力爆发声 | ⏳ 占位符 | |
| 50 | +| `SwordStrike` | 剑气斩击 | `sword_strike.ogg` | 1-2s | 剑气破空声 | ⏳ 占位符 | |
| 51 | +| `ThousandSwords` | 万剑归宗 | `thousand_swords.ogg` | 3-5s | 多重剑击+华丽爆发 | ⏳ 占位符 | |
| 52 | + |
| 53 | +### UI交互音效 |
| 54 | + |
| 55 | +| 音效ID | 中文名称 | 文件名 | 时长 | 推荐来源 | 状态 | |
| 56 | +|--------|----------|--------|------|----------|------| |
| 57 | +| `UiClick` | UI点击 | `ui_click.ogg` | 0.1-0.2s | 清脆点击声 | ⏳ 占位符 | |
| 58 | +| `UiHover` | UI悬停 | `ui_hover.ogg` | 0.1-0.15s | 轻微提示音 | ⏳ 占位符 | |
| 59 | +| `UiConfirm` | UI确认 | `ui_confirm.ogg` | 0.2-0.3s | 肯定/成功提示 | ⏳ 占位符 | |
| 60 | +| `UiCancel` | UI取消 | `ui_cancel.ogg` | 0.2-0.3s | 取消/返回提示 | ⏳ 占位符 | |
| 61 | +| `UiError` | UI错误 | `ui_error.ogg` | 0.3-0.5s | 错误/失败提示 | ⏳ 占位符 | |
| 62 | + |
| 63 | +### 系统/事件音效 |
| 64 | + |
| 65 | +| 音效ID | 中文名称 | 文件名 | 时长 | 推荐来源 | 状态 | |
| 66 | +|--------|----------|--------|------|----------|------| |
| 67 | +| `BreakthroughStart` | 突破开始 | `breakthrough_start.ogg` | 1-2s | 能量聚集声 | ⏳ 占位符 | |
| 68 | +| `BreakthroughSuccess` | 突破成功 | `breakthrough_success.ogg` | 2-3s | 成功+升级声 | ⏳ 占位符 | |
| 69 | +| `LevelUp` | 升级音效 | `level_up.ogg` | 1-2s | 升级+正反馈 | ⏳ 占位符 | |
| 70 | +| `GoldGain` | 获得金币 | `gold_gain.ogg` | 0.5-1s | 金币掉落声 | ⏳ 占位符 | |
| 71 | +| `RelicObtain` | 获得遗物 | `relic_obtain.ogg` | 1-2s | 稀有物品获得 | ⏳ 占位符 | |
| 72 | +| `Victory` | 战斗胜利 | `victory.ogg` | 2-3s | 胜利欢呼/正反馈 | ⏳ 占位符 | |
| 73 | +| `Defeat` | 战斗失败 | `defeat.ogg` | 2-3s | 失败音效 | ⏳ 占位符 | |
| 74 | + |
| 75 | +### 敌人相关音效 |
| 76 | + |
| 77 | +| 音效ID | 中文名称 | 文件名 | 时长 | 推荐来源 | 状态 | |
| 78 | +|--------|----------|--------|------|----------|------| |
| 79 | +| `EnemySpawn` | 敌人生成 | `enemy_spawn.ogg` | 0.5-1s | 出现/召唤声 | ⏳ 占位符 | |
| 80 | +| `EnemyDeath` | 敌人死亡 | `enemy_death.ogg` | 0.5-1s | 死亡/消散声 | ⏳ 占位符 | |
| 81 | +| `BossAppear` | Boss登场 | `boss_appear.ogg` | 2-3s | Boss威压+登场 | ⏳ 占位符 | |
| 82 | +| `BossDeath` | Boss死亡 | `boss_death.ogg` | 3-5s | Boss死亡+华丽消散 | ⏳ 占位符 | |
| 83 | + |
| 84 | +--- |
| 85 | + |
| 86 | +## 🔗 推荐音效资源网站 |
| 87 | + |
| 88 | +### 免费音效网站 |
| 89 | + |
| 90 | +| 网站 | URL | 说明 | |
| 91 | +|------|-----|------| |
| 92 | +| **Freesound** | https://freesound.org | 最大的免费音效库,需注册 | |
| 93 | +| **Zapsplat** | https://www.zapsplat.com | 大量免费音效,需署名 | |
| 94 | +| **Mixkit** | https://mixkit.co/free-sound-effects | 免费音效,无需署名 | |
| 95 | +| **Pixabay** | https://pixabay.com/sound-effects | 免费音效和音乐 | |
| 96 | +| **OpenGameArt** | https://opengameart.org | 游戏音效资源 | |
| 97 | +| ** Sonniss** | https:// Sonniss.com | 年度免费音效包 | |
| 98 | + |
| 99 | +### 付费音效网站 |
| 100 | + |
| 101 | +| 网站 | URL | 说明 | |
| 102 | +|------|-----|------| |
| 103 | +| **AudioJungle** | https://audiojungle.net | Envato市场,音效质量高 | |
| 104 | +| **Pond5** | https://www.pond5.com | 专业音效库 | |
| 105 | +| **Epidemic Sound** | https://www.epidemicsound.com | 订阅制,商用友好 | |
| 106 | + |
| 107 | +### 中国音效网站 |
| 108 | + |
| 109 | +| 网站 | URL | 说明 | |
| 110 | +|------|-----|------| |
| 111 | +| **爱给网** | https://www.aigei.com | 中文音效资源站 | |
| 112 | +| **配音秀** | https://www.peiyinxiu.com | 音效和配音资源 | |
| 113 | +| **淘声网** | https://www.tosound.com | 免费音效搜索 | |
| 114 | + |
| 115 | +--- |
| 116 | + |
| 117 | +## 📝 音效搜索关键词 |
| 118 | + |
| 119 | +### 通用关键词 |
| 120 | +- `chinese fantasy` `wuxia` `xianxia` `martial arts` |
| 121 | +- `sword` `magic` `spell` `impact` `whoosh` |
| 122 | +- `game sfx` `rpg sfx` `ui sfx` |
| 123 | + |
| 124 | +### 特定搜索 |
| 125 | +- `card draw sound` `shuffle cards` `card play` |
| 126 | +- `sword attack` `fire spell` `ice spell` `lightning` |
| 127 | +- `heal magic` `buff sound` `shield up` |
| 128 | +- `level up` `victory` `boss death` `gold coin` |
| 129 | + |
| 130 | +--- |
| 131 | + |
| 132 | +## 🔧 音效编辑建议 |
| 133 | + |
| 134 | +### 推荐工具 |
| 135 | + |
| 136 | +| 工具 | 平台 | 用途 | |
| 137 | +|------|------|------| |
| 138 | +| **Audacity** | 跨平台 | 免费,基础编辑 | |
| 139 | +| **Adobe Audition** | Win/Mac | 专业音频编辑 | |
| 140 | +| **GarageBand** | macOS | Mac自带,简单编辑 | |
| 141 | +| **Ocenaudio** | 跨平台 | 轻量级音频编辑 | |
| 142 | + |
| 143 | +### 编辑要点 |
| 144 | + |
| 145 | +1. **格式**: 统一转换为 OGG Vorbis 格式 |
| 146 | +2. **采样率**: 44.1kHz 或 48kHz |
| 147 | +3. **比特率**: 192-320 kbps |
| 148 | +4. **声道**: 立体声 |
| 149 | +5. **音量**: 标准化至 -3dB 到 -1dB |
| 150 | +6. **长度**: 根据对照表要求裁剪 |
| 151 | +7. **淡入淡出**: 头尾添加 0.01-0.05秒淡入淡出,避免爆音 |
| 152 | + |
| 153 | +--- |
| 154 | + |
| 155 | +## 📁 文件结构 |
| 156 | + |
| 157 | +``` |
| 158 | +assets/audio/sfx/ |
| 159 | +├── 卡牌相关/ |
| 160 | +│ ├── card_play.ogg |
| 161 | +│ ├── draw_card.ogg |
| 162 | +│ ├── shuffle_card.ogg |
| 163 | +│ ├── card_hover.ogg |
| 164 | +│ └── card_select.ogg |
| 165 | +├── 战斗相关/ |
| 166 | +│ ├── player_attack.ogg |
| 167 | +│ ├── player_hit.ogg |
| 168 | +│ ├── enemy_hit.ogg |
| 169 | +│ ├── block.ogg |
| 170 | +│ ├── critical_hit.ogg |
| 171 | +│ └── dodge.ogg |
| 172 | +├── 法术技能/ |
| 173 | +│ ├── lightning_strike.ogg |
| 174 | +│ ├── fire_spell.ogg |
| 175 | +│ ├── ice_spell.ogg |
| 176 | +│ ├── heal.ogg |
| 177 | +│ ├── buff_apply.ogg |
| 178 | +│ ├── debuff_apply.ogg |
| 179 | +│ └── shield_up.ogg |
| 180 | +├── 大招技能/ |
| 181 | +│ ├── ultimate_start.ogg |
| 182 | +│ ├── ultimate_release.ogg |
| 183 | +│ ├── sword_strike.ogg |
| 184 | +│ └── thousand_swords.ogg |
| 185 | +├── UI交互/ |
| 186 | +│ ├── ui_click.ogg |
| 187 | +│ ├── ui_hover.ogg |
| 188 | +│ ├── ui_confirm.ogg |
| 189 | +│ ├── ui_cancel.ogg |
| 190 | +│ └── ui_error.ogg |
| 191 | +├── 系统事件/ |
| 192 | +│ ├── breakthrough_start.ogg |
| 193 | +│ ├── breakthrough_success.ogg |
| 194 | +│ ├── level_up.ogg |
| 195 | +│ ├── gold_gain.ogg |
| 196 | +│ ├── relic_obtain.ogg |
| 197 | +│ ├── victory.ogg |
| 198 | +│ └── defeat.ogg |
| 199 | +└── 敌人相关/ |
| 200 | + ├── enemy_spawn.ogg |
| 201 | + ├── enemy_death.ogg |
| 202 | + ├── boss_appear.ogg |
| 203 | + └── boss_death.ogg |
| 204 | +``` |
| 205 | + |
| 206 | +--- |
| 207 | + |
| 208 | +## 🔄 替换流程 |
| 209 | + |
| 210 | +### 1. 下载音效文件 |
| 211 | +从推荐网站下载对应的音效文件 |
| 212 | + |
| 213 | +### 2. 编辑处理 |
| 214 | +使用 Audacity 等工具进行格式转换和裁剪 |
| 215 | + |
| 216 | +### 3. 放置文件 |
| 217 | +将处理好的文件放入 `assets/audio/sfx/` 对应目录 |
| 218 | + |
| 219 | +### 4. 移除占位符 |
| 220 | +运行脚本移除代码中的占位符: |
| 221 | +```bash |
| 222 | +./scripts/replace_sfx_placeholders.sh |
| 223 | +``` |
| 224 | + |
| 225 | +### 5. 验证测试 |
| 226 | +```bash |
| 227 | +# 运行TDD测试 |
| 228 | +cargo test --test sound_effects_tdd |
| 229 | + |
| 230 | +# 运行游戏测试 |
| 231 | +cargo run |
| 232 | +``` |
| 233 | + |
| 234 | +--- |
| 235 | + |
| 236 | +## ⚠️ 版权说明 |
| 237 | + |
| 238 | +- 免费音效请确认使用许可(CC0、BY、BY-NC等) |
| 239 | +- 商用游戏请使用无署名要求或已购买授权的音效 |
| 240 | +- 建议记录每个音效的来源和许可信息 |
| 241 | +- 避免使用受版权保护的知名游戏音效 |
| 242 | + |
| 243 | +--- |
| 244 | + |
| 245 | +## 📊 进度跟踪 |
| 246 | + |
| 247 | +| 分类 | 总数 | 已完成 | 待替换 | 完成率 | |
| 248 | +|------|------|--------|--------|--------| |
| 249 | +| 卡牌相关 | 5 | 0 | 5 | 0% | |
| 250 | +| 战斗相关 | 6 | 0 | 6 | 0% | |
| 251 | +| 法术技能 | 7 | 0 | 7 | 0% | |
| 252 | +| 大招技能 | 4 | 0 | 4 | 0% | |
| 253 | +| UI交互 | 5 | 0 | 5 | 0% | |
| 254 | +| 系统事件 | 7 | 0 | 7 | 0% | |
| 255 | +| 敌人相关 | 4 | 0 | 4 | 0% | |
| 256 | +| **总计** | **38** | **0** | **38** | **0% | |
0 commit comments