Agent Skills
返回列表
💻

Godot 音频

开发编程 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/godot-audio-sh-0rkwcx。

技能介绍

解决的问题

Godot 音频代码常卡在几个地方:把 volume_db 当成线性音量,导致 0.5 接近满音量;总线名拼错时 get_bus_index() 返回 -1;重复触发同一 AudioStreamPlayer 会截断短音效;.ogg 或 .wav 未开启 loop 时音乐不循环;3D 音频没有 AudioListener3D / Camera3D 或衰减参数过紧而听不见;只用 get_playback_position() 做节拍同步会出现抖动。

技能如何工作

本技能面向 Godot 4.3+,把音频实现拆成节点选择、流配置、总线路由、分贝控制和节拍补偿五步:

  • 根据是否空间化选择 AudioStreamPlayer、AudioStreamPlayer2D 或 AudioStreamPlayer3D。
  • 为播放器分配 AudioStream,音乐和循环音常用 .ogg,短音效常用 .wav。
  • 将播放器挂到 Music、SFX 等命名总线,再在 Audio 面板配置音量、静音、solo,以及 reverb、compressor 等效果。
  • 用 linear_to_db / db_to_linear 映射滑条,并用 AudioServer 按总线索引控制 volume_db 和 mute。
  • 处理节拍时加入 get_time_since_last_mix(),并减去 get_output_latency(),减少输出延迟造成的漂移。

适用边界与注意

它覆盖 Godot 内的播放、总线、效果、3D 音频和 timing,不负责引擎无关的 adaptive music design、混音哲学或外部资产编码。实际接入时要避免 linear_to_db(0.0) 返回 -inf,需要 clamp 或特殊静音;短音效建议使用多个播放器、AudioStreamPolyphonic 或按次释放。

使用场景

  • 在 Godot 4 中为按钮点击、命中和关卡事件接入一次触发即播的音效。
  • 把背景音乐和 SFX 分到 Music、SFX 总线,用 AudioServer 调整 dB 与静音。
  • 在 3D 场景中让音效随角色距离衰减,并排查 AudioListener3D 与衰减参数。
  • 依据播放位置、mix 时间和输出延迟,让技能释放或动作对齐音乐节拍。

适合人员

  • Godot 4 客户端工程师:把音效从编辑器配置落到代码可控的播放器、总线和 dB 音量。
  • 游戏技术美术:给场景添加 reverb、compressor 等总线效果,并排查静音或衰减异常。
  • 节奏玩法开发者:补偿输出延迟,让打击、动作或关卡事件稳定卡拍。
  • 独立游戏开发者:管理音乐、UI 音效与 3D 音效的节点选择、loop 和播放截断。