CharacterEventTrigger(キャラクター イベント トリガー)
ユーザーがColliderを出入りする度に、アクションをトリガーするコンポーネント
項目
- Enabled:
- このコンポーネントを有効にするかどうか。
- TriggersOnly:
- 初期設定(True)だと、ColliderのType設定がTriggerタイプのみ反応する。
Falseにすると、Triggerタイプ又はユーザーが接触できる設定(StaticタイプでCharacterColliderがTrue等)に反応する。
- TriggerEntered(list):
- Add押すと増える。
Colliderに接触した時にトリガーするアクション。トリガーできるのは、同期デリゲートの<float3>です。
座標は接触位置が使用されます。
- TriggerLeft(list):
- Add押すと増える。
Colliderから離れた時にトリガーするアクション。
- IgnoreParentUser:
- このコンポーネントがユーザー内にある時、そのユーザーは無視する。
バット等のアイテムに使用すると、持っているユーザーとは反応しなくなるので便利です。
使用例
- Colliderと同じスロットにアタッチ。
Collider等の設定を適切に行います。 - Trigger(list)に同期デリゲート<flost3>を指定します。
例えば、RandomAudioClipPlayerやRandomObjectSpawner等のAtPoint(float3 point)をトリガーする事で、床を踏んだり人を殴ったりすると、効果音やパーティクルが発生するギミックを簡単に作る事ができます。
その他
- 知らないとFluxで実装しがちな内容だけど、コンポーネントで実装する事も可能です。
- 例えば、ワールドに多数の金網フェンスがあり、ここにユーザーが衝突したら効果音を鳴らす場合。
- 適当なスロットにRandomAudioClipPlayerを一つアタッチして、各項目を設定します。
- 各フェンスのColliderを適切に設定します。
- 各Colliderと同じスロットにこのコンポーネントをアタッチして、TriggersOnlyをFalseに、TriggerEntered(list)にRandomAudioClipPlayerのPlayAtPoint(float3 point)を入れます。
ユーザーがフェンスに衝突すると、その場所で効果音が再生されるようになります。