Wwise SDK 2022.1.18
|
Wwise Authoring Query Language (WAQL) は、Wwiseプロジェクトとそのオブジェクトのクエリを行うために使います。WAQLの様々な概念については、 Wwise Authoring Query Language (WAQL) を使用する を参照してください。 クエリのフォームは、以下のどれかです。
Synopsis | 概要 |
$ SOURCE |
SOURCE はオブジェクトジェネレータのことで、オブジェクトのシーケンスをアウトプットします。どのようなソースがあるのかについては、下表を参照してください。 TRANSFORM はシーケンストランスフォームを表します。トランスフォームは、インプットシーケンスを受け取り、別のシーケンスをアウトプットします。 注: ソースを指定しないと、プロジェクトで定義された全オブジェクトを、暗黙にソースとみなします。 |
SOURCE | Query Source | IntegrationDemoプロジェクトで実行するWAQLクエリ |
---|---|---|
from object OBJECT_SPECIFIER |
指定されたオブジェクトから、オブジェクトのシーケンスを生成します。 OBJECT_SPECIFIER は以下のフォームのどれかを指します:
|
$ from object "\Actor-Mixer Hierarchy\Default Work Unit\Hello" |
from type OBJECT_TYPE from type OBJECT_TYPE, OBJECT_TYPE, ... |
指定されたタイプから、オブジェクトのシーケンスを生成します。1つまたは複数のオブジェクトタイプを指定できます。 OBJECT_TYPE はWwiseオブジェクトタイプを表します。全てのオブジェクトタイプのリストを見るには、 Wwiseオブジェクトリファレンス を参照してください。タイプは、大文字小文字の区別がありません。
|
$ from type Event |
from query QUERY_SPECIFIER |
Query Editorで定義したWwise Queryを実行した結果として、オブジェクトのシーケンスを生成します。 QUERY_SPECIFIER は以下のフォームのどれかを指します。
注: このジェネレータには、生成されるシーケンスサイズに等しいメモリアロケーションが必要です。 |
$ from query "\Queries\Factory Queries\Audio Source\Audio Source - Format = Vorbis" |
from search TEXT |
プロジェクト全体のテキストサーチの結果として、オブジェクトのシーケンスを生成します。 TEXT はダブルクォーテーションで囲まれたテキストの文字列です。サーチのテキストで指定した全ての単語を、プロジェクトのオブジェクト内の単語と比較します。 注: Wwiseツールバーのサーチと同じ結果になります。 |
$ from search "gun" |
from project | プロジェクトの全オブジェクトを含む、オブジェクトのシーケンスを生成します。 | $ from project |
TRANSFORM | チェイン(chain)可能なトランスフォーム | 例 |
---|---|---|
where BOOLEAN_EXPRESSION |
指定した式と一致しないオブジェクトを拒否することで、インプットシーケンスのオブジェクトにフィルタを適用します。 BOOLEAN_EXPRESSION はtrueまたはfalseを返す式を表します。インプットシーケンスの各オブジェクトに対してこの式を実行し、falseを返した式のあるオブジェクトを拒否します。 詳細は、expressionsのセクションを参照してください。 |
$ from type Sound where @Volume < 0 |
skip COUNT |
インプットシーケンスのオブジェクトを指定した個数だけ飛ばしてから、残りのオブジェクトを返します。 COUNT は、スキップするエレメント数を表します。 | $ from type Sound skip 10 |
take COUNT |
インプットシーケンスの頭から、指定した個数の連続するオブジェクトを返します。 COUNT は、取るエレメントの数を表します。 | $ from type Sound take 10 |
select OBJECT_EXPRESSION |
インプットシーケンスの各オブジェクトを、新しいフォームで表現します。 OBJECT_EXPRESSION は多くのオブジェクトにゼロを返す式です。インプットシーケンスの各オブジェクトに対してこの式を実行し、式の結果を、新しいシーケンスで表現します。 詳細は、expressionsのセクションを参照してください。 |
$ from object "{1514A4D8-1DA6-412A-A17E-75CA0C2149F3}" select parent |
orderby VALUE_EXPRESSION orderby VALUE_EXPRESSION reverse |
インプットシーケンスのオブジェクト を、昇順でソートして返します。降順でソートするには、式のあとに reverse を追加します。 VALUE_EXPRESSION は、ソートアルゴリズムでオブジェクト同士を比較するために使う式を表します。このexpressionは、文字列、数値、ブール値など、比較可能な値を返す必要があります。 注: このソートが実施されるには、orderbyに、インプットシーケンスのサイズに等しいメモリアロケーションが必要です。 | $ from type Sound orderby name $ from type Sound orderby name reverse $ from type Bus orderby @BusVolume $ from type Action orderby @Target.name |
distinct |
インプットシーケンス の、区別可能なオブジェクトだけを返します。重複するオブジェクト項目は、1つの項目に減らされ、その結果、シーケンスの各オブジェクトがそれぞれ固有のものになります。 注: distinctによってシーケンス内の順番が変わります。このため、distinct文のあとにorderby文を置くことが望まれます。 注: この操作が実施されるには、distinctに、インプットシーケンスのサイズに等しいメモリアロケーションが必要です。 |
$ from object "\Actor-Mixer Hierarchy" select descendants select @OutputBus distinct |
Object Expressions | 多くのオブジェクトに、ゼロを返す式 | 例 |
---|---|---|
OBJECT_EXPRESSION OBJECT_EXPRESSION.OBJECT_EXPRESSION... | Wwiseオブジェクトを返すために、多くのオブジェクト式に、ゼロをチェイン(chain)します。式と式を、dotで分けます。 | $ from object "Event:Play_Hello" select parent.parent |
REFERENCE_NAME @REFERENCE_NAME @@REFERENCE_NAME |
現在のオブジェクトが、あるリファレンス名のときに参照するオブジェクトを、返します。 @ を使うと、オブジェクトで直接定義したリファレンスを使います。 @ がないと、オーバーライド設定を使いリファレンス値を探します。これが、再生時に実際に使われる値です。同名のアクセサがあれば、それが優先されます。そのような稀な場合には、リファレンス名の前に @@ を使う必要があります。 REFERENCE_NAME は、現在のオブジェクトが参照するリファレンスの名前です。全てのオブジェクトタイプと、そのリファレンスのリストを見るには、 Wwiseオブジェクトリファレンス を参照してください。名前は、大文字小文字の区別がありません。 |
$ from type Sound select OutputBus |
children | オブジェクトの直下の子を返します。 | $ from object "\Actor-Mixer Hierarchy\Default Work Unit" select children |
descendants |
オブジェクトの全ての子孫を、1つのシーケンスで返します。子孫に、全ての子が再帰的に含まれます。 注: 現在のオブジェクトは含まれません。現在のオブジェクトを含めるには、次を使います: select descendants, this |
$ from object "\Actor-Mixer Hierarchy\Default Work Unit" select descendants |
this | 現在のオブジェクトを返します。 | $ from object "\Master-Mixer Hierarchy\Default Work Unit\Master Audio Bus" select this, descendants |
parent | オブジェクトの直接の親を返します。オブジェクトに親がなければ、オブジェクトを返しません。 |
$ from type Sound select parent |
ancestors |
オブジェクトの全ての祖先を、1つのシーケンスで返します。祖先に、全ての親が再帰的に含まれます。 注: 現在のオブジェクトは含まれません。現在のオブジェクトを含めるには、次を使います: select ancestors, this | $ from object "Event:Play_Hello" select ancestors $ from object "Event:Play_Hello" select ancestors, this |
referencesTo | 現在のオブジェクトへのリファレンスのある、全てのオブジェクトを返します。 |
$ from type Effect select referencesTo |
owner |
オブジェクトのオーナーを返します。オーナーは、ほかのオブジェクト内で定義された"Custom"オブジェクトのためだけに設定されます。 Sharesetオブジェクトには、オーナーがありません。親( parent )があり、それらを参照するオブジェクトがあります( referencesTo )。 例えば"Custom"エフェクトのオーナーは、このエフェクトをインサートとして含むオブジェクトです。 | $ from type Effect select owner $ from type Effect where owner.name :"*env" |
workunit | 現在のオブジェクトで継続するために使われている、Work Unitオブジェクトを返します。 | $ from type Effect select workunit |
musicTransitionRoot |
現在のオブジェクトに関連する、Music Transitionルートオブジェクトを返します。 注: これが機能するオブジェクトタイプは、MusicSegment、MusicTrack、MusicPlaylistContainer、MusicSwitchContainerだけです。 | $ from project select musicTransitionRoot |
musicPlaylistRoot |
現在のオブジェクトに関連する、Music Playlistルートオブジェクトを返します。 注: これが機能するオブジェクトタイプは、MusicPlaylistContainerだけです。 | $ from project select musicPlaylistRoot |
maxDurationSource |
現在のオブジェクトの全ての子孫の、最大再生時間(秒単位)のあるAudio Sourceオブジェクトを返します。 注: これが機能するのは、Actor-Mixer Hierarchyオブジェクト、Interactive-Music Hierarchyオブジェクト、そしてEventだけです。 | $ from object "\Actor-Mixer Hierarchy" select maxDurationSource |
maxRadiusAttenuation |
現在のオブジェクトの全ての子孫の中で、最大距離の半径を有する減衰オブジェクトを返します。 注: これが機能するのは、Actor-Mixer Hierarchyオブジェクト、Interactive-Music Hierarchyオブジェクト、そしてEventだけです。 | $ from type Sound select maxRadiusAttenuation |
audioSourceLanguage |
現在のAudio Sourceに使われているランゲージオブジェクトを返します。 注: これが機能するのは、Audio Sourceオブジェクトだけです。 | $ from type AudioFileSource select audioSourceLanguage |
switchContainerChildContext |
現在のSwitch Containerオブジェクトに関連する、Switch Containerコンテキストオブジェクトを返します。Switch Containerコンテキストオブジェクトには、Switch Containerの関連付けの設定が入っています。 注: これが機能するオブジェクトタイプは、SwitchContainerだけです。 | $ from project select switchContainerChildContext |
Value Expressions | 数字、文字列、またはブール値を返す式 | 例 |
OBJECT_EXPRESSION.VALUE_EXPRESSION OBJECT_EXPRESSION.OBJECT_EXPRESSION. VALUE_EXPRESSION | チェイン(chain)したオブジェクトの値を返すために、多くのオブジェクト式にゼロをチェインし、そのあとにvalue expressionをつけます。式と式を、dotで分けます。 | $ where OutputBus.id = "{1514A4D8-1DA6-412A-A17E-75CA0C2149F3}" |
PROPERTY_NAME @PROPERTY_NAME @@PROPERTY_NAME |
特定オブジェクト用に、プロパティ値を返します。 @ がないと、オーバーライド設定を使いリファレンス値を探します。これが、再生時に使われる実際の値です(つまり、有効値)。同名のアクセサがあれば、それが優先されます。そのような稀な場合には、リファレンス名の前に @@ を使う必要があります。 @ を使うと、オブジェクトで直接定義したプロパティを、それがオーバーライドされていなくても、使います。 @@ は、 @ がないのと同じです。 PROPERTY_NAME は、現在のオブジェクトのプロパティ名を表します。全てのオブジェクトタイプと、そのリファレンスのリストを見るには、 Wwiseオブジェクトリファレンス を参照してください。名前は、大文字小文字の区別がありません。 |
$ from type Sound select OutputBus |
id |
フォーム: "{0CB93450-E995-40E5-98A5-239F15B1F1D4}" の、128-bitのGUID文字列を返します。 これは、プロジェクトのオブジェクトのための、固有の識別子です。 | $ where id = "{1514A4D8-1DA6-412A-A17E-75CA0C2149F3}" |
shortId |
オブジェクトの32-bitのショートIDの数値を返します。これは、サウンドエンジンで使われるIDです。 注: ショートIDが固有である範囲は、オブジェクトタイプによって異なります。バス、イベント、エフェクト、ゲームシンクなど、特定のオブジェクトタイプのIDは、同じタイプの全てのオブジェクトに渡り固有です。それ以外のサウンドやコンテナなどのIDは、プロジェクト全体に渡り固有です。 | $ where shortId = 1588715066 |
name | オブジェクト名を文字列として返します。 | $ from type Event where name : "*hello*" $ where name = "Play_Hello" |
notes | オブジェクトのnotes(コメントとも呼ばれる)を、文字列として返します。 |
$ where notes : "audiokinetic" |
type |
オブジェクトのタイプを、文字列として返します。 全てのオブジェクトタイプのリストを見るには、 Wwiseオブジェクトリファレンス を参照してください。 | $ where type = "Sound" |
classId |
オブジェクトのclassIDを返します。classIDは、オブジェクトのタイプと、エフェクト、ソース、またはコンバージョンプラグインのタイプを表す数値です。 全てのclassIDのリストを見るには、 Wwiseオブジェクトリファレンス を参照してください。 | $ where classId = 8847363 |
category |
オブジェクトのカテゴリを返します。 プロジェクトのルート(root)フォルダ下の最上位フォルダ名が、カテゴリの候補です。 | $ where category = "Actor-Mixer Hierarchy" $ where category = "Interactive Music Hierarchy" $ where category = "Master-Mixer Hierarchy" $ where category = "Events" |
filePath | Work Unitまたはプロジェクトに関連付いているファイルパスを返します。これは、wwuまたはwprojファイルの絶対パスです。 | $ where type = "WorkUnit" and filePath : "*wwu" |
path | Wwiseプロジェクトの中のプロジェクトのパスを返します。このパスには、カテゴリ、つまり最上位フォルダ名が含まれます。 | $ where path : "microphone" |
activeSource | サウンドオブジェクトに関連付けられたアクティブソースを返します。 | $ from type Sound select activeSource |
isPlayable | オブジェクトを、トランスポートの中、またはイベントの中で再生できれば、trueを返します。それ以外の場合は、falseを返します。 | $ where isPlayable $ where isPlayable = false $ where !isPlayable |
childrenCount | 現在のオブジェクトの子の数を返します。 | $ where childrenCount > 10 $ where type = "RandomSequenceContainer" and childrenCount > 5 |
pluginName |
プラグインのベンダーが提供するプラグイン名を返します。 プラグイン名は、Effectsプラグイン、Sourceプラグイン、Audio Device、Metadataオブジェクトに提供されます。 なお、プラグイン名は、オブジェクト名と異なります。 | $ where pluginName = "" |
convertedFilePath |
Returns the absolute path of the converted file associated with the current object. 注: これが機能するオブジェクトタイプは、SoundとAudioSourceだけです。 | $ from type Sound where convertedFilePath : "hello" |
originalFilePath |
Returns the absolute path of the original file associated with the current object. 注: これが機能するオブジェクトタイプは、SoundとAudioSourceだけです。 | $ from type Sound where originalFilePath : "hello" |
soundbankBnkFilePath |
現在のオブジェクトに関連付いている、BNKファイルの絶対パスを返します。 注: これが機能するオブジェクトタイプは、SoundBankだけです。 | $ where soundbankBnkFilePath : "car" |
mediaId |
Unique value given to file. Used by the sound engine to identify the file. Note: This only works with objects of type AudioSource, MidiFileSource and PluginMediaSource. | $ where mediaId > 0 |
workunitIsDefault |
Work Unitオブジェクトが、自分のカテゴリのデフォルトワークユニットであれば、trueを返します。 注: これが機能するオブジェクトタイプは、WorkUnitだけです。 | $ where workunitIsDefault |
workunitType |
現在のWork Unitオブジェクトのタイプを返します。以下のような値となります:
注: これが機能するオブジェクトタイプは、WorkUnitだけです。 |
$ where workunitType = "folder" |
workunitIsDirty |
Work Unitに、保存されていない変更があれば、trueを返します。 注: これが機能するオブジェクトタイプは、WorkUnitだけです。 | $ where workunitIsDirty |
isExplicitMute |
オブジェクトが明示的にミュートされていれば、trueを返します。 | $ where isExplicitMute |
isExplicitSolo |
オブジェクトが明示的にソロにされていれば、trueを返します。 | $ where isExplicitSolo |
isImplicitMute |
オブジェクトが暗黙的にミュートされていれば、trueを返します。 | $ where isImplicitMute |
isImplicitSolo |
オブジェクトが暗黙的にソロにされていれば、trueを返します。 | $ where isImplicitSolo |
isIncluded |
Returns true if the object is included. If one or more of the object's ancestors is excluded, the object is excluded as well. | $ where isIncluded |
maxDurationSource.id |
長さが最も長いオーディオソースオブジェクトの、ID (GUID) を返します。 | $ where maxDurationSource.id = "{1514A4D8-1DA6-412A-A17E-75CA0C2149F3}" |
maxDurationSource.trimmedDuration |
最も長いトリム済みソースの長さを、秒単位で返します。 | $ where maxDurationSource.trimmedDuration >= 2 |
duration.min |
再生時間として可能な、最小の長さを返します。 注: これは、Audio Sourceオブジェクトをソースとして直接含むことができるオブジェクト、または子孫を通して間接的に含むことができるオブジェクト全てに、適用されます。 | $ where duration.min = 3 |
duration.max |
再生時間として可能な、最大の長さを返します。 注: これは、Audio Sourceオブジェクトをソースとして直接含むことができるオブジェクト、または子孫を通して間接的に含むことができるオブジェクト全てに、適用されます。 | $ where duration.max = 5 |
duration.type |
Durationのタイプ、つまり"infinite"、"mixed"、"oneShot"、または "unknown" を返します。 | $ where duration.type = "oneShot" |
audioSourceTrimValues.trimBegin |
トリムされたオーディオソースの範囲の、始まりの時間を返します。 | $ where audioSourceTrimValues.trimBegin = 2 |
audioSourceTrimValues.trimEnd |
トリムされたオーディオソースの範囲の、終わりの時間を返します。 | $ where audioSourceTrimValues.trimEnd = 5 |
maxRadiusAttenuation.id |
半径が最大である減衰オブジェクトの、ID (GUID) を返します。 注: これが機能するのは、Actor-Mixer Hierarchyオブジェクト、Interactive-Music Hierarchyオブジェクト、そしてEventだけです。 | $ where maxRadiusAttenuation.id = "{1514A4D8-1DA6-412A-A17E-75CA0C2149F3}" |
maxRadiusAttenuation.radius |
半径が最大である減衰オブジェクトの、半径を返します。 注: これが機能するのは、Actor-Mixer Hierarchyオブジェクト、Interactive-Music Hierarchyオブジェクト、そしてEventだけです。 | $ where maxRadiusAttenuation.radius > 100 |
条件演算子、論理演算子 | 2つの式を比較してブール値を返します | 例 |
---|---|---|
= | 文字列、または数値、またはブール値の、2つの値を比較します。 |
$ where name = "Hello" |
!= | 文字列、または数値、またはブール値の、2つの値を比較します。 |
$ where name != "Hello" |
< | 2つの数値を比較します。 |
$ from type sound where volume < 0 |
: |
2つの文字列値を比較し、指定されたテキストで始まり、単語が部分的に一致すれば、trueを返します。 単語の最後を一致させるために、ワイルドカードを使うこともできます。 |
$ where name : "Hello" |
= /REGEX/ |
指定した正規表現が、現在の文字列と一致すれば、trueを返します。 ECMAScript正規表現を使います。 | $ where name = /Hello/ $ where name = /llo$/ $ where name = /[a-z][0-9]/ |
! | Negates an expression. |
$ where !(name = "Hello") |
および | 2つの式を結合してその接続詞にします。 |
$ from type sound where name = "Hello" and volume = 0 |
または | 2つの式を結合してその選言にします。 |
$ where name = "Hello" or name = "Hi" |
() | 式に対する論理演算の順序を指定します。 |
$ from type sound where (volume = -3 or volume = 0) and (name = "Hello" or name = "Hi") |