有好几种方式在 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 文件。
-
onNameConflict
参数只能是 'fail'
、'merge'
或 'rename'。不支持
'replace'
模式。
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": []
}
|
备注: 父字段显示了在工程中的何处创建项目。parent 字段跟大部分 Wwise 对象字段一样支持对象 ID (GUID) 和对象路径。想要获取对象 id,请参阅 ak.wwise.core.object.get. 比如,您可以通过对象的工程路径来获取它的对象 id。 |
|
备注: 想要从 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。
示例:
导入一个 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"
}
]
}
|
备注: 确保工程中存在相应语言且大小写匹配。 |