CRI ADX  Last Updated: 2024-09-25 17:41 p
セレクター

セレクターとセレクターラベルは、状況に応じて再生するマテリアルを切り替える際に使用します。
セレクターはプロジェクトツリー下の全体設定内のセレクターフォルダーで管理します。セレクターには子要素としてラベルが作成できます。

例えば、足音を鳴らし分けるためにセレクターとラベルを作成する場合、以下のように設定します。
セレクターには「床属性」を使用し、ラベルには「土」「草」「コンクリート」「木」「砂利」などを割り当てます。

覚え書き
再生時のセレクターラベル指定はプログラムで行われます。
そのため、キューに対してセレクターラベルの設定を行った場合、その情報をプログラマーに伝達してください。
再生時には、プログラマーがプレーヤーに適切なセレクターラベルを設定できるようにしてください。


ランタイムの動作の基本

ADX ではプレーヤーにキューをセットしてスタートすると音が鳴ります。
プレーヤーにセレクターラベルをセットしてスタートすると、セレクターラベルの影響を受けるキューは鳴り方が変化します。
ツールではこの鳴り方の変化をデザインすることになります。

セレクターラベルの指定方法

セレクターラベルは、プログラムやアクションのセットセレクターラベルから指定することができます。

参照
アクション機能

セレクターラベル指定方法の違いによる影響

プレーヤーにセレクターラベルを設定していない場合は、データに設定されたデフォルトセレクターラベルに従って再生されます。

キューを再生する際に使用されるトラックを決定するためのセレクターラベルは、以下の優先順位で設定を確認し、指定値として使用します。

  1. セレクターラベル指定が必要なキューを再生する際、再生するプレーヤーに設定されているセレクターラベル設定値を使用。
    • 対象:スイッチ、ポリフォニック、セレクターによるトラック遷移
  2. セレクターラベル指定が必要なキューをターゲットにしているアクショントラックで、セットセレクターラベルアクションに設定されたセレクターラベル設定値を使用。
    • 対象:ポリフォニック、セレクターによるトラック遷移
  3. キューの「デフォルトセレクターラベル」設定値を使用。
    • 対象:スイッチ、ポリフォニック、セレクターによるトラック遷移
  4. セレクターの「グローバルラベル」設定値を使用。
    • 対象:スイッチ、セレクターによるトラック遷移

ランタイムでのセレクターラベルの優先度

セレクターラベルは、以下の順序で優先度が決まります。

優先度 高 優先度 低
プレーヤー → アクション → キューのデフォルトセレクターラベル → セレクターのグローバルラベル

ランタイム時のセレクターラベルの設定例

1. プレーヤーにセレクターラベルを設定して再生

プレーヤー アクション キューのデフォルトセレクターラベル セレクターのグローバルラベル
Label_A (Label_B) (Label_C) (Label_D)
  • プログラムからセットされたセレクターラベル Label_A が適用されます。

2. セットセレクターラベルアクションのあるキューの再生

プレーヤー アクション キューのデフォルトセレクターラベル セレクターのグローバルラベル
(未設定) Label_B (Label_C) (Label_D)
  • キューの再生時、セットセレクターラベルアクションで Label_B が適用されます。

3. プレーヤーにセレクターラベルを設定せず、キューの設定で再生

プレーヤー アクション キューのデフォルトセレクターラベル セレクターのグローバルラベル
(未設定) (未設定) Label_C (Label_D)
  • キューの再生時、デフォルトのセレクターラベル Label_C が適用されます。

4. プレーヤーにセレクターラベルを設定せずに再生

プレーヤー アクション キューのデフォルトセレクターラベル セレクターのグローバルラベル
(未設定) (未設定) (未設定) Label_D
  • キューの再生時、セレクターのグローバルラベル Label_D が適用されます。

影響範囲が小さい場合の制御

 キュー単位やプレーヤー単位でセレクターラベル指定を行うことで、影響範囲を小さくした制御が行えます。

影響範囲が大きい場合の制御

セレクターの「グローバルラベル」設定値は、プログラムから変更することが可能です。
例えば、天候やゲームレベルなど、ゲーム全体に影響するパラメータに応じてセレクターを切り替える必要がある場合、
グローバルラベルを指定することで、全体的な制御が行えます。

キューのデフォルトセレクターラベルやアクション経由での制御

キューの設定でセレクターラベルを設定したい場合はキューの「デフォルトセレクターラベル」で指定します。
この設定はポリフォニックタイプのキューの時や、キューごとに固有の初期セレクターラベルを用意したい場合に使用します。

セレクターの設定が必要なキュータイプ

作成したセレクターはキューに対して設定し、子要素のセレクターラベルはトラックに対して設定します。
セレクターとセレクターラベルの設定が有効なのは以下のシーケンスタイプです。

  • ポリフォニックタイプ
  • スイッチタイプ
  • セレクターによるトラック遷移タイプ

これ以外のタイプに設定しても無視されます。
次項で説明するスイッチタイプの場合はセレクター、もしくはゲーム変数の設定が必須となります。(キューにセレクターを設定した場合、トラックへのラベル設定は必須となります。)

セレクターラベル変更時のランタイム動作

シンセタイプ セレクターラベル変更時に適用されるタイミング 補足
ポリフォニック ウェーブフォームリージョン再生開始時に切り替わる 既に再生しているウェーブフォームリージョンは影響受けない
スイッチ キュー再生開始時に切り替わる 既に再生しているウェーブフォームリージョンは影響受けない
セレクターによるトラック遷移 ウェーブフォームリージョン再生中即時に切り替わる 既に再生しているウェーブフォームリージョンにも影響する

ポリフォニックタイプの場合

トラックにセレクターラベルが設定されていると、トラック内のウェーブフォームリージョン再生時にプログラムによるセレクターラベル指定との比較処理が行われます。


スイッチタイプの場合

トラック再生開始時にセレクターラベル判定します。
シーケンス再生時にプログラムで指定したセレクターラベルとトラックに設定されているセレクターラベルが一致した場合に、そのトラックの再生が行われます。
セレクターラベル情報が一致しないトラックと、セレクターラベルが見つからない場合はキュー発音しません。


セレクターによるトラック遷移タイプの場合

トラック内のウェーブフォームリージョンが再生中でも、プログラムによるセレクターラベル指定との比較処理が行われます。
トラック遷移時のフェードの設定やビートに同期した遷移が可能で、音楽向きです。