Locomotion/Interaction/CharacterEventTrigger

Last-modified: 2025-01-03 (金) 01:09:01


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で実装しがちな内容だけど、コンポーネントで実装する事も可能です。
  • 例えば、ワールドに多数の金網フェンスがあり、ここにユーザーが衝突したら効果音を鳴らす場合。
  1. 適当なスロットにRandomAudioClipPlayerを一つアタッチして、各項目を設定します。
  2. 各フェンスのColliderを適切に設定します。
  3. 各Colliderと同じスロットにこのコンポーネントをアタッチして、TriggersOnlyをFalseに、TriggerEntered(list)にRandomAudioClipPlayerのPlayAtPoint(float3 point)を入れます。
    ユーザーがフェンスに衝突すると、その場所で効果音が再生されるようになります。