Wwise Authoring API 提供了综合查询系统,可用于获取 Wwise 工程最关键方面的信息。更具体地说,它用于获取工程中任何对象的信息。
该查询系统内置于 ak.wwise.core.object.get 功能里。请参阅它的参考文档了解更多详情。
查询的结构包括两个部分:
此外,查询可以用选项指定:
from 语句为查询开始提供了几个起点:
\Actor-Mixer
Hierarchy\Default Work Unit\MySound。transform 语句提供了几个转换功能,可以用于转换已选择的对象。第一个转换是应用于 from 语句所选择的对象的。另一个 transformation 应用于之前转换的结果。
可以按次序添加多个转换。
return 语句会在所有转换结尾执行一次。如果没有指定转换,会直接从from 语句执行。 return 语句会指定返回 Wwise 对象的何种要素。可以返回任意数量的要素。
当带有‘@’前缀时,返回表达式可包含属性和引用。比如,它可能包含‘@Volume’或‘@OutputBus’。当有‘@@’前缀时,返回会使用"Override"("不沿用"属性)的来源,它由层级中‘Override Parent’(不沿用父级)的具体数值决定。
如果返回表达式中的一个条目不兼容或不在返回对象中,则结果将不含该条目。
请参照 to 工程代码 了解初始化。
返回一列对象的 ID、名称和音量:
var query = { from: { id: [ '{A076AA65-B71A-45BB-8841-5A20C52CE727}', '{2028C899-8300-4667-ADD0-ED10467BD91E}', '{24979032-B170-43E3-A2E4-469E0193E2C3}' ] } }; var options = { return: ['id', 'name', '@Volume'] }; session.call('ak.wwise.core.object.get', [], query, options).then( function (res) { // 打印名称和音量 var objects = res.kwargs.return; for(let i = 0; i < objects.length;++i ){ console.log(`${objects[i].name}: ${objects[i]['@Volume']}`); } }, function (error) { console.log(`error: ${error}`); } );
返回 Actor-Mixer Hierarchy 中以‘My’开头所有对象的 ID 和名称,并使用以下的正则表达式返回:
var query = { from:{path:['\\Actor-Mixer Hierarchy']}, transform:[ {select:['descendants']}, {where:['name:matches','^My']} ] }; var options = { return: ['id', 'name'] }; session.call('ak.wwise.core.object.get', [], query, options).then( function (res) { // 打印名称 var objects = res.kwargs.return; for(let i = 0; i < objects.length;++i ){ console.log(`${objects[i].name}`); } }, function (error) { console.log(`error: ${error}`); } );