Chapter 18

ComonySequenceAction

LASTMILE WORKS
LASTMILE WORKS
2022.07.30に更新

ComonySequenceActionについて


同一のトリガーで複数のギミックの機能を切り替えて動作させることが出来るコンポーネントです。

トリガーやギミック、イベントの仕組みがわからない場合はComonyTriggerのページをご覧ください。

Gimmickシーンを確認


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

向かって右手の『クリック!』と書かれた方で説明しますが、左側の方はComonySequenceActionに加えて『ComonyDelayAction』というギミックのコンポーネントも併用した応用となっていますので興味がございましたら見てみて下さい。



ComonySequenceActionの特徴


まず初めにシーンを再生して右側のキューブをクリックしてみましょう。



『クリック!』と書かれた文字が非表示になりました。

もう一度キューブをクリックしてみましょう。



今度は『クリック!』と書かれた文字が表示されました。

これはキューブにアタッチされているComonyTriggerのOnInteractという種類のトリガーによってクリックすることがトリガーとなって、ComonySwitchObjectActiveというギミックの文字を非表示にする機能が動作しています。

ですがComonyTriggerとComonySwitchObjectActiveだけでは2回目のクリックでは文字を表示するという指示が出来ないのでこのような動作にはなりません。

そこでComonySequenceActionをアタッチすることで『〇回目のクリックで〇〇を動作させる』という指示が可能になります。

ComonyTriggerのページを読まれた方はご存じかと思いますが、ComonyTriggerの説明では指定されたエリアに入ると文字が非表示になり、エリアから出ると文字が表示されていました。

今回の説明と少し似ているので混乱されるかもしれませんが、一定のエリアに入ったり出たりすることによって動作をさせる場合はComonyTriggerのOnMyAvaterEnterとOnMyAvaterExitという2つの異なるトリガーを適用していたのでComonySequenceActionはアタッチする必要がありませんでした。

ですが『〇回目のクリックで〇〇を動作させる』という指示の場合、あくまでOnInteractという一種類のトリガーで異なる動作をさせるのでComonySequenceActionが必要となります。

ComonySequenceActionの設定


では、Clickの中のTrigger_clickをクリックしてInspectorを見てみましょう。



ComonyTriggerのOnInteractのActionKeyに設定している文字列(click)とComonySwitchObjectActiveの任意の機能を同じ文字列に設定するのではなく、ComonySequenceActionのRecvActionに同じ文字列を設定します。

これでComonySequenceActionを動作させることが出来ます。

次に『〇回目のクリックで〇〇を動作させる』という部分を設定します。

Send Actionの右にある枠に任意の数字を入れるとその数の分だけ下のElementが増えます。

このElementにはそれぞれ異なる文字列を設定しましょう。

1回目のトリガー(ここではクリック)ではElement0に設定されている文字列と同一の文字列を持つギミックの機能を動作させて、2回目のトリガーではElement2に設定されている文字列と同一の文字列を持つギミックの機能を動作させるといった処理になります。

動作の確認


試しにシーンを再生させてComonySequenceActionの一番下にあるOptionのsend Startを見てみましょう。



キューブをクリックする度に、この数字が切り替わりますがこれは次にクリックすると何番目のElementの文字列を参照してギミックの機能を動作させるかを表示しています。

ですので、例えばSendActionsを5に設定した場合は0~4の5つのElementがクリックする度に順番に入れ替わり、4の次はまた0に戻ります。