版本
menu_open
Wwise SDK 2018.1.11
查询 Wwise 工程

Wwise Authoring API 提供了综合查询系统,可用于获取 Wwise 工程最关键方面的信息。更具体地说,它用于获取工程中任何对象的信息。

该查询系统内置于 ak.wwise.core.object.get 功能里。请参阅它的参考文档了解更多详情。

查询的结构包括两个部分:

  • from: 指定查询的起点。这是获取数据的来源。
  • transform: 指定应用于对象的一系列转换。可以按次序添加转换。

此外,查询可以用选项指定:

  • return: 指定从对象返回的内容。如果没有指定,则默认值为 ['id', 'name']。
  • platform: 指定使用查询的平台。如果没有指定,则默认为当前平台

from

from 语句为查询开始提供了几个起点:

  • id: 指定: 指定一列对象 ID(GUID)。当您已经有对象 ID 时,可用于查找该对象。
  • name: 按照 type:name 形式指定一组由对象类型限定的对象名称。仅支持采用全局唯一名称的对象类型。请参阅 Wwise Objects Reference 了解可用类型。
  • search: 指定在 Wwise 对象和备注中要搜索的文本。这与 Wwise 中的搜索功能所用的搜索引擎是一样的。
  • path: 指定要查找的一系列路径。路径必须是绝对路径,并且必须以类别名称开头,就相当于物理文件夹名称。例如: \Actor-Mixer Hierarchy\Default Work Unit\MySound。
  • ofType: 指定一系列 Wwise 对象类型。用于获取某个对象类型的所有对象。例:获取所有 Game Parameters。请参阅 Wwise Objects Reference 了解可用类型。

transform

transform 语句提供了几个转换功能,可以用于转换已选择的对象。第一个转换是应用于 from 语句所选择的对象的。另一个 transformation 应用于之前转换的结果。

可以按次序添加多个转换。

  • select parent: 为每个对象选择父级对象。
  • select children: 为每个对象选择子级对象列表。
  • select descendants: 为每个对象递归选择所有子级对象。
  • select ancestors: 为每个对象递归选择父级对象。
  • select referencesTo: 为每个对象选择所有引用该对象的对象。
  • where: 用于过滤之前迭代器的结果。可能的标准是:
    • name:contains: 对对象名称中文本的搜索,不区分大小写。
    • name:matches: 对对象名称的正则表达式搜索,不区分大小写。
    • type:isIn: 筛选之前迭代器的结果,仅保留特定类型的对象。如需查看对象类型列表,请参阅 Wwise Objects Reference
    • category:isIn: 筛选之前迭代器的结果,仅保留特定类别的对象。
  • distinct: 筛选之前迭代器的结果,仅保留独特的对象。

return(在选项中)

return 语句会在所有转换结尾执行一次。如果没有指定转换,会直接从 from 语句执行。 return 语句会指定返回 Wwise 对象的何种要素。可以返回任意数量的要素。

当带有‘@’前缀时,返回表达式可包含属性和引用。比如,它可能包含‘@Volume’或‘@OutputBus’。当有‘@@’前缀时,返回会使用"Override"("不沿用"属性)的来源,它由层级中‘Override Parent’(不沿用父级)的具体数值决定。

如果返回表达式中的一个条目不兼容或不在返回对象中,则结果将不含该条目。

其他选项

ak.wwise.core.object.get 函数及其他函数允许使用选项对象来定义:

  • return 语句(参见上文)
  • platform:平台的 ID (guid) 或名称。
  • language:语言的 ID (guid) 或名称。

有些访问器会区分选项。比如,在检索属性或引用值时,可通过指定平台来获取取消链接的值。若未指定平台,则使用当前平台。 另外,还可通过指定语言来检索针对语言的信息,如 Sound SFX(音效)对象的音频源数据。 若未指定语言,则使用当前语言。

示例

请参照 to 工程代码 了解初始化。

如需查看更多示例,请参阅 ak.wwise.core.object.get

返回一列对象的 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}`);
}
);

此页面对您是否有帮助?

需要技术支持?

仍有疑问?或者问题?需要更多信息?欢迎联系我们,我们可以提供帮助!

查看我们的“技术支持”页面

介绍一下自己的项目。我们会竭力为您提供帮助。

来注册自己的项目,我们帮您快速入门,不带任何附加条件!

开始 Wwise 之旅