目录

导入音频文件和创建架构

有好几种方式在 Wwise Authoring API 中创建 Wwise 对象。

创建 Wwise 对象

利用 ak.wwise.core.object.create ,可以创建大部分 Wwise 对象。如需进一步了解相关限制,请参阅 ak.wwise.core.object.create 相关限制

理解名称冲突模式

在调用 ak.wwise.core.object.create 时,可以指定以下四种之一的名称冲突模式:

如果在目标位置存在同名对象:

  • fail:创建功能返回一个错误。
  • replace:目标位置的原对象(及子级)被删除,新的对象被创建出来。
  • rename:为新的对象自动指派一个不会重名的名称(在名称上添加数字)。
  • merge:目标位置的对象被重新使用,而其指定的属性、引用和子级被合并到目标位置,对象的剩余部分不变。

ak.wwise.core.object.create 相关限制

Sound SFX

利用 ak.wwise.core.object.create ,可以创建 Sound SFX(音效)对象。不过,存在以下主要限制:

  • 无法将原始 WAV 文件关联到子级 Audio Source(音频源)对象。
  • 无法将语言关联到子级 Audio Source 对象。

鉴于以上原因,在我们完全支持这些功能之前,建议不要使用 ak.wwise.core.object.create 创建 Sound SFX。请改用 导入音频文件ak.wwise.core.audio.import

Work Unit

在使用 ak.wwise.core.object.create 创建 Work Unit(工作单元)之前,需要先清理撤消/重做历史记录和剪贴板。Work Unit 会在创建的同时保存,便于在工程中快速创建对应的 WWU 文件。

Query

无法使用 ak.wwise.core.object.create 创建 Query(查询)对象。

使用 ak.wwise.core.object.create 来创建一个 actor-mixer:

请参阅 ak.wwise.core.object.create 了解更多信息。

{
    "parent": "{a9129d80-07e0-11e7-93ae-92361f002671}",
    "type": "ActorMixer",
    "name": "My Actor-Mixer",
    "children": []
}
Note.gif
备注: 父字段显示了在工程中的何处创建项目。parent 字段跟大部分 Wwise 对象字段一样支持对象 ID (GUID) 和对象路径。想要获取对象 id,请参阅 ak.wwise.core.object.get. 比如,您可以通过对象的工程路径来获取它的对象 id。
Note.gif
备注: 想要从 Wwise 工程中获取对象 id,您可以按住 SHIFT 键同时右键单击一个对象,然后选择 Copy GUID(s) 复制到剪贴板上。

使用 ak.wwise.core.object.create 在属性中创建对象层级:

请参阅 ak.wwise.core.object.create 了解更多信息。

{
    "parent": "{a9129d80-07e0-11e7-93ae-92361f002671}",
    "type": "ActorMixer",
    "name": "Weapons",
    "@Volume": "-2",
    "children": [
        {
            "type": "RandomSequenceContainer",
            "name": "BigGun",
            "@RandomOrSequence": "1",
            "children": [
                {
                    "type": "Sound",
                    "name": "Gun1",
                },              
                {
                    "type": "Sound",
                    "name": "Gun2",
                }
            ]
        }
    ]
}

使用 ak.wwise.core.object.create 创建 Event

请参阅 ak.wwise.core.object.create 了解更多信息。

{
    "parent": "\\Events\\Default Work Unit", 
    "type": "Folder", 
    "name": "WAAPI", 
    "onNameConflict": "merge", 
    "children": [
        {
            "type": "Event", 
            "name": "Play_SFX", 
            "children": [
                {
                    "name": "", 
                    "type": "Action", 
                    "@ActionType": 1, 
                    "@Target": "\\Actor-Mixer Hierarchy\\Default Work Unit\\SFX"
                }
            ]
        }
    ]
}

如需查看可用事件属性和动作类型列表,请参阅 Action

导入音频文件

音频文件可以通过 Audio File Importer(音频文件导入器) 用制表符分割导入中同样可用的导入处理器, 使用 Wwise Authoring API 导入。

使用 Wwise Authoring API 能做到导入过程的完全自动化,同时您可以用自己选择的编程语言来直接控制。

导入格式非常灵活。您可以导入:

简单来说,音频文件导入过程中允许:

  • 导入和本地化音频文件
  • 自动创建 Actor-Mixer 层级结构
  • 创建 Event(事件)
  • 指派属性值,如 Volume(音量)
  • 指派引用,如 Output Bus(输出总线)

有关此功能的详情,请参阅 https://www.audiokinetic.com/library/edge/?source=Help&id=importing_media_files_from_tab_delimited_text_file

Note.gif
备注: 最好使用 ak.wwise.core.audio.importTabDelimitedak.wwise.core.audio.import ,来同时创建 Sound SFX 对象并导入音频文件。目前无法将音频文件和语言关联到所创建的对象,所以建议不要使用 ak.wwise.core.object.create

示例:

导入一个 WAV 文件,并创建关联的 Sound 对象。

使用 ak.wwise.core.audio.import 导入音频文件

请参阅 ak.wwise.core.audio.import 了解更多信息。

{
    importOperation: "createNew",
    default: {
        importLanguage: "SFX"
    },
    imports: [
        {
            objectPath: "\\Actor-Mixer Hierarchy\\Default Work Unit\\<Sound>MyNewSound1",
            audioFile: "C:\\Wave\\cues\\1.wav",
            "@Volume": 0.42
        },
        {
            objectPath: "\\Actor-Mixer Hierarchy\\Default Work Unit\\<Sound>MyNewSound2",
            audioFile: "C:\\Wave\\cues\\2.wav",
            "@Volume": 0.1
        }
    ]
}

使用 ak.wwise.core.audio.import 本地化音频文件

请参阅 ak.wwise.core.audio.import 了解更多信息。

以 English 形式导入 Sound Voice:

{
    importOperation: "useExisting",
    default: {
        importLanguage: "English(US)"
    },
    imports: [
        {
            objectPath: "\\Actor-Mixer Hierarchy\\Default Work Unit\\<Sound>MyVoice",
            audioFile: "C:\\sources\\en\\Hello.wav"
        }
    ]
}

以 French 形式本地化 Sound Voice:

{
    importOperation: "useExisting",
    default: {
        importLanguage: "French"
    },
    imports: [
        {
            objectPath: "\\Actor-Mixer Hierarchy\\Default Work Unit\\<Sound>MyVoice",
            audioFile: "C:\\sources\\fr\\Hello.wav"
        }
    ]
}
Note.gif
备注: 确保工程中存在相应语言且大小写匹配。