メインコンテンツまでスキップ

TriggerとResponse

Triggerは利用者の操作やシーン内の状態変化を検知し、Responseに登録した動作を開始します。 ElementsからTriggerとResponseを追加して設定します。

基本構成​

設定は次の順序で行います。

  1. Elementsから「Response」を追加します。
  2. Responseへ実行するActionを追加し、対象Elementと値を設定します。
  3. 利用場面に合うTriggerを追加します。
  4. Triggerのプロパティで作成したResponseを選択します。
  5. Previewまたは公開先のルームで動作を確認します。

1つのResponseには複数のActionを登録できます。 待機を挟む場合は「Sleep」をActionの間へ追加します。 複数のTriggerから同じResponseを選択すると、動作の設定を共有できます。

Triggerの種類​

Element発火条件主な設定
Active Trigger利用者が対象モデルを操作したときに発火します。対象モデル、Response、同期
Passive Trigger利用者がボックス範囲へ入ったとき、または出たときに発火します。入場時Response、退場時Response、同期
2D Active Trigger画面上のボタンを操作したときに発火します。ボタン名、Response、同期
JS Event Triggerプラグインなどが発行するイベントを受け取ったときに発火します。イベント名、Response、同期

JS Event Triggerは詳細モードでのみ追加できます。 ほかの3つのTriggerとResponseはシンプルモードにも表示されます。

ResponseのAction​

Action動作
Animation Model PlayAnimationModelのアニメーションを再生します。
Animation Model StopAnimationModelのアニメーションを停止します。
Audio PlayAudioを再生します。
Audio Play StopAudioの再生を停止します。
Change Visible対象Elementを指定した可視状態(表示または非表示)に変更します。
Change Troika TextTroika Textの文字列を変更します。
Move Room別のルームへ移動します。
Sleep次のActionまで、指定した秒数だけ待機します。
WarpWay Pointへワープします。
2D View画像または動画を2D表示します。
Hide 2D View表示中の2D Viewを閉じます。
JS Call Eventプラグインへカスタムイベントを送ります。
Play Sound指定した効果音を再生します。
Stop Sound指定した効果音を停止します。
Stop All Responses実行中のResponseを停止します。

Actionによって、選択できる対象Elementが異なります。 たとえばWarpはWay Pointを、Change Troika TextはTroika Textを対象にします。

同期​

Triggerの同期は初期状態では無効です。

  • 無効の場合は、Triggerを発火させた利用者の画面だけでResponseを実行します。
  • 有効の場合は、接続中の全利用者が同じResponseを実行します。
  • 同期したResponseの最新状態は、ルームが空になるまで保持されます。その間に途中入室した利用者にも復元されます。

同期はシーンへ永続保存されません。 ルームから全員が退出すると保持された状態は消え、次に入室したときはシーンの初期状態から始まります。

Warp、Move Room、2D Viewなども、同期を有効にすると全利用者側で実行されます。 個人だけに表示する画面や移動には同期を使用しないでください。 表示や演出を全員でそろえる場合は同期を有効にし、複数端末と途中入室の両方で確認してください。

Active Trigger​

Active Triggerでは、操作対象のモデルと実行するResponseを指定します。 対象モデルが利用者から操作できる配置になっていることをPreviewで確認してください。

Passive Trigger​

Passive Triggerはボックス形状の範囲を持ちます。 Transformで位置と大きさを調整し、入場時と退場時に別のResponseを設定できます。

境界上でActionが繰り返されないように、範囲と利用者の動線を確認してください。

2D Active Trigger​

2D Active Triggerは、利用者の画面に表示するボタン名とResponseを設定します。 短く意味の分かるボタン名を使い、実行結果をPreviewで確認してください。

JS Event Trigger​

JS Event Triggerは、プラグインなどが発行するイベント名を受け取ってResponseを実行します。 設定できるのは、イベント名、実行するResponse、および同期です。

イベントの発行方法と詳細値はJS Call Eventsを参照してください。

注記

リンク先は開発者向けのプラグイン実装ガイドです。

組み合わせ例​

以下の例では、Triggerの同期を無効にし、操作した利用者だけに動作を適用します。 Responseや対象Elementには、選択時に区別できる名前を付けてください。

モデルをクリックして案内を表示・非表示にする​

表示用と非表示用に、別の操作対象モデルとResponseを用意します。 操作対象モデルは案内とは別に配置し、案内を非表示にしても操作できるようにします。

  1. 案内として表示するモデルを配置し、初期状態を非表示にします。
  2. 「案内を表示」という名前のResponseを追加します。
  3. Actionに「Change Visible」を追加し、対象に案内モデルを選択して「可視状態」をオンにします。
  4. Active Triggerを追加し、対象モデルに表示用の操作対象モデル、Responseに「案内を表示」を選択します。
  5. 「案内を非表示」という別のResponseを追加します。
  6. 「Change Visible」の対象に同じ案内モデルを選択し、「可視状態」をオフにします。
  7. 別のActive Triggerを追加し、対象モデルに非表示用の操作対象モデル、Responseに「案内を非表示」を選択します。
  8. Previewまたは公開先のルームで、表示用のモデルをクリックすると案内が現れ、非表示用のモデルをクリックすると消えることを確認します。

「Change Visible」は、クリックするたびに表示と非表示を反転するActionではありません。 表示用のモデルを繰り返しクリックしても、案内は表示されたままです。

ボタンで音声を再生し、5秒後に停止する​

  1. Audioを配置して音声を指定し、「Auto Play」をオフにします。
  2. 「音声案内」という名前のResponseを追加し、次の順序でActionを登録します。
順序Action設定
1Audio Play対象に配置したAudioを選択します。
2Sleep待機時間に5秒を指定します。
3Audio Play Stop対象に同じAudioを選択します。
  1. 2D Active Triggerを追加し、ボタン名に「音声を聞く」、Responseに「音声案内」を設定します。
  2. Previewまたは公開先のルームでボタンを押し、音声が再生され、5秒後に停止することを確認します。

「Sleep」は指定した秒数だけ待機します。音声の再生終了を待つ設定ではありません。 確認には5秒より長い音声を使用し、最後まで聞かせたい場合は停止のActionを省いてください。

モデルをクリックして案内を表示し、ワープする​

  1. Way Pointを移動先へ配置し、位置と向きを調整します。
  2. 案内モデルと、クリックする操作対象モデルを別に配置します。
  3. 「移動案内」という名前のResponseを追加し、次の順序でActionを登録します。
順序Action設定
1Change Visible対象に案内モデルを選択し、「可視状態」をオンにします。
2Sleep待機時間に3秒を指定します。
3Change Visible対象に同じ案内モデルを選択し、「可視状態」をオフにします。
4Warp対象に移動先のWay Pointを選択します。
  1. Active Triggerを追加し、対象モデルに操作対象モデル、Responseに「移動案内」を選択します。
  2. Previewまたは公開先のルームで操作対象モデルをクリックし、案内が3秒間表示された後に消え、自分だけが指定した場所へ移動することを確認します。

「Warp」では、対象としてWay Pointそのものを選択します。 Linkでワープするときに使う#付きの名前を入力する必要はありません。 同期を有効にするとほかの参加者も移動するため、個人用の移動では無効のままにしてください。

過去に作成したシーンを編集する場合​

過去に作成したシーンを編集する方向け

以前の形式のTriggerは、Spokeで開いても新しい形式へ自動では変わりません。 詳細モードのElementsには、同じ名前の古いTriggerが残っていることがあります。 Capture、Prevent Default、Stop Propagation、Once、Enabledがあるものは以前の形式です。 新しく追加する場合は、同期とResponseを設定する形式を使ってください。 既存シーンでは、対象Element、Response、同期設定が意図どおりかを確認し、Previewでテストしてから公開してください。

古いTriggerを置き換える場合は、次の順序で進めます。

  1. 既存Triggerの発火条件、対象Element、実行するActionと値を控えます。
  2. Responseを追加し、既存の動作に対応するActionを登録します。
  3. 同じ発火条件の新しいTriggerを追加し、対象Elementと作成したResponseを設定します。
  4. 元の動作範囲に合わせて同期を設定します。個人の操作にだけ適用する場合は無効にします。
  5. 古いTriggerを削除し、新旧両方が同時に発火しない状態でPreviewを確認します。
  6. 必要に応じて複数端末でも確認してから公開します。