定义音频资源

在游戏配置文件中,您可以使用 <AudioDef> 元素来定义音频资源。每个 <AudioDef> 元素都必须包含在顶层的 <Define> 元素之内,并遵循其通用的属性定义规则。

功能介绍

<AudioDef> 用于加载和配置游戏所需的各种音频资源,例如背景音乐、音效、语音等。您可以通过它指定音频文件的存储路径。

参数说明

所有的参数都必须通过嵌套元素的方式进行赋值。

  • <defName> (必需,字符串)

    • 该音频定义的唯一标识符。在整个游戏配置中,此名称必须是全局唯一的,除非您有意覆盖现有定义。
    • 作为匿名定义时,此字段可以省略。
  • <label> (可选,字符串)

    • 提供一个人类可读的标签,用于更好地理解该音频定义的用途。
  • <description> (可选,字符串)

    • 提供更详细的文本描述,解释该音频定义的具体内容或特殊用途。
  • <path> (必需,字符串)

    • 指定音频资源的实际存储路径。
    • 路径前缀约定:
      • otherPackID:相对地址: 表示加载 otherPackID 包下的相对路径音频资源。
      • 空前缀: 表示加载当前定义所在包的相对路径音频资源。
      • res:相对地址: 表示加载游戏编译过程中,项目 Resources 文件夹下的音频资源。res: 前缀的优先级高于包 ID 前缀。

引用方式

  • 当其他定义需要引用某个音频资源时,始终使用该音频定义的 defName

示例

示例 1:定义背景音乐

<Define>
    <AudioDef>
        <defName>BackgroundMusic_MainTheme</defName>
        <label>主界面背景音乐</label>
        <description>应用于游戏主界面的循环背景音乐。</description>
        <path>Audio/BGM/main_theme.mp3</path>
    </AudioDef>
</Define>

在其他定义中引用此音频:BackgroundMusic_MainTheme

示例 2:定义一个来自 Resources 文件夹的音效

<Define>
    <AudioDef>
        <defName>UISound_Click</defName>
        <label>UI点击音效</label>
        <description>用于按钮点击时的反馈音效。</description>
        <path>res:Sounds/UI/click.wav</path>
    </AudioDef>
</Define>

在其他定义中引用此音频:UISound_Click

示例 3:定义一个来自其他包的语音文件

<Define>
    <AudioDef>
        <defName>Dialogue_Greeting</defName>
        <label>角色欢迎对话</label>
        <description>角色首次见面时的语音问候。</description>
        <path>DialoguePack:Voice/greet_player.ogg</path>
    </AudioDef>
</Define>

在其他定义中引用此音频:Dialogue_Greeting

注意事项

  • 路径前缀优先级: res: 前缀的解析优先级最高,其次是包 ID 前缀,最后是当前包。
  • defName 唯一性: 强烈建议所有 <AudioDef>defName 都是全局唯一的,以避免在加载和引用时出现混淆或不确定的行为。如果存在重复的 defName,后加载的定义将会覆盖先加载的。
  • 匿名定义:AudioDef 作为其他定义的内部结构使用时,defName 可以省略,此时它将作为一个匿名的、局部可用的音频定义。在这种情况下,该音频无法通过名称在外部引用。
  • 音频格式: 请确保您引用的音频文件格式是游戏引擎支持的格式(例如 .mp3, .wav, .ogg 等)。