Chapter 09

ComonyTrigger

LASTMILE WORKS
LASTMILE WORKS
2022.08.02に更新

ComonyTriggerについて


あるオブジェクトをクリックした時やあるエリアにアバターが入った時など、特定の条件を満たした時に文字を消したり動画を再生させるなど、様々なギミックを動作させるために使用するコンポーネントです。

特定の条件を『Trigger』と呼び、Triggerによって任意のギミックを動作させる一連の流れをイベントと呼びます。

Gimmickシーンを確認


Gimmickシーン(Assets > ComonySDK > Samples > Gimmick)の中に配置されているWalkという名前のオブジェクトを使ってご説明します。

Walkは一定のエリアに入ると『近づいたら消える』と書かれたテキストが消えるギミックのテンプレートです。



ComonyTrigger (Script)の使い分け


Walkの中にTrigger_walkという名前のオブジェクトが子として入っていることが確認できます。

このTrigger_walkには『ComonyTrigger (Script)』コンポーネントがアタッチされています。

ComonyTriggerに表示されている(1)OnMyAvaterEnterと(2)OnMyAvaterExitの2つがTrigger(イベントを発生させる条件)となっています。



不要なTriggerを消したい場合はActionKeyの右にある『-』をクリックして下さい。

また、Triggerを追加したい場合はAdd new triggerをクリックすることで任意のTriggerを一覧から選択することが出来ます。

Triggerは7種類あります。



名前からもわかるようにOnMyAvaterEnterがアバターがエリアに入ったとき、OnMyAvaterExitがアバターがエリアを出たときがTriggerとなっています。

Tiggerによるギミックの発動


Triggerの条件が満たされたときに動作するギミックのコンポーネントがどこにあるのか見てみましょう。

Trigger_walkと同様に、Walkの中にtext(1)という名前の子のオブジェクトがあり、このtext(1)にアタッチされている『ComonySwitchObjectActive』コンポーネントが今回、動作させるギミックとなります。



ComonySwitchObjectActiveに書かれているRecv ActionのEnableはこのComony Basicがアタッチされているオブジェクトを表示させる機能で、Disableは非表示にする機能となります。



各機能の右横にある文字列は、どのTriggerによってどの機能を動作させるのか関連付ける役目があります。

まとめ


少しわかりづらいかもしれませんので以下にまとめます。

  1. ComonyTriggerでOnMyAvaterEnterを設定しているので、アバターがエリアに入ったときにComonyTriggerは『walk_disable』という文字列が設定されているギミックの機能を探します。

  2. text(1)にアタッチされているComonySwitchObjectActiveのDisableという機能に『walk_disable』という文字列が設定されているので①のTriggerはこのDisableを動作させます。

  3. 文字列が一致しているDisableという機能を持っているComony Switch Object Activeがアタッチされているオブジェクトはtext(1)なのでtext(1)が非表示になります。

なお、文字列はwalk_disableやwalk_enableである必要はありませんので、ご自身がわかりやすい文字列を入力して使用することが可能となっています。


ComonyTriggerコンポーネントに並んでTrigger_walkオブジェクトにアタッチされているBoxColliderがOnMyAvaterEnterやOnMyAvaterExitで判定される実際のエリアとなっています。

BoxColliderは大きさも自由に変えられますが、必ず『Is Trigger』にチェックを入れておいてください。

今回は文字を消すという基本的なギミックの動作としてWalkでご説明しましたが、ComonyTriggerで関連付けられる動作はComonySwitchObjectActiveの機能だけではなく、ほかにも様々なコンポーネントの機能と関連付けられるので基本的なコンポーネントとなっています。