セレクターによる再生トラックの切り替え

ここではセレクターを使用した再生トラックの切り替え方法を紹介します。

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

例えば足音の鳴らしわけ用にセレクターとラベルを作成する場合、セレクター(床属性)、ラベル(土、草、コンクリート、木、砂利)といったように作成し管理します。

criatom_tools_atomcraft_switch_track_by_selector00.png

ランタイムの動作の基本

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

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

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

参照
アクション機能

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

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

キュー再生時に再生するトラックを決定するためのセレクターラベルは、以下の順に設定の有無を調べ指定値として使用します。

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

ランタイムでのセレクターラベルの影響の強弱

強い 弱い
プレーヤー -> アクション -> キューのデフォルトセレクターラベル -> セレクターのグローバルラベル

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

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

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

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

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

プレーヤーのセレクターラベルセットせずにキューの設定で再生

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

プレーヤーのセレクターラベルセットせずに再生

プレーヤー アクション キューのデフォルトセレクターラベル セレクターのグローバルラベル
(未設定) (未設定) (未設定) (Label_D)
  • キューの再生でツール上のセレクターラベルLabel_Dが適用される。
  • プログラムからのセットセレクターラベルでセレクターのグローバルラベルLabel_Dが適用される。

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

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

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

 セレクターの「グローバルラベル」設定値はプログラムによる変更も行えます。
 天候やゲームレベルのようにゲーム内でグローバルな環境切り替えが必要な場合、セレクターに対して適用するラベルを指定することで全体的な制御が行えます。

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

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

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

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

  • スイッチタイプ
  • セレクターによるトラック遷移タイプ

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

criatom_tools_atomcraft_switch_track_by_selector04.png

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

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

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

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

criatom_tools_atomcraft_switch_track_by_selector02.png


スイッチタイプの場合

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

criatom_tools_atomcraft_switch_track_by_selector01.png


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

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

criatom_tools_atomcraft_switch_track_by_selector03.png


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