【UE5】キャラクターのイベントノード一覧!【ゲーム開発】

On Constraint Broken
物理制約(Physics Constraint)が壊れたときに自動で実行されるイベントノード
関数を呼び出すとは違い、外部から実行しなくても条件を満たせば発生するのがポイント
✅システムの実装例
・ドアや橋の破壊演出(制約が壊れたら物理シミュレーション開始)
・敵のアーマーや装備が破損するシステム
・ロープやチェーンが切れる演出

On Plastic Deformation
物理シミュレーションを適用したメッシュが、設定したPlasticity Threshold(変形し始めるしきい値)を超える力を受けたときに動作する。
✅システムの実装例
・車のクラッシュ時のボディ変形
・金属が曲がる、壊れるエフェクト
・オブジェクトの耐久度が下がる演出

On Anim Initialized
アニメーションブループリント(AnimBP)がキャラクターに適用され、最初のフレームが再生される前に実行される。
これを使えば、アニメーション関連の変数の初期設定や、アニメーションのステートマシンを動的に変更する処理を入れられる。
✅システムの実装例
・キャラクターのアニメーション変数を初期設定する(例:歩行・ダッシュ状態を初期化)
・アニメーション開始時に一度だけ実行したい処理を追加(例:特定のモーションを再生)
・スケルタルメッシュが変更されたときに、それに合わせたアニメーションを設定

On Component Hit
物理が有効なオブジェクト同士が接触すると、このイベントが実行される。
衝突時の情報(衝突したオブジェクト、衝突位置、衝撃の強さなど)を取得できる。
例えば、キャラクターが壁にぶつかったときや、弾丸が地面にあたったときに自動で実行される。
✅システムの実装例
・弾丸や投げたオブジェクトが地面や壁に当たったときにエフェクトを出す
・車が障害物に衝突した際にダメージを受ける処理を入れる
・キャラクターが特定のオブジェクトに当たったら跳ね返る or 破壊するシステムを作る

On Component Begin Overlap
物理演算を使わずに、当たり判定(トリガー)を検出するためのイベント。
Overlap(重なる)とは「衝突」ではなく、コリジョン設定で”Overlap”が有効になっているオブジェクト同士が接触すると自動で実行される。
衝突判定(On Component Hit)と異なり、物理シミュレーションが不要で、キャラクターやアイテムの判定に適している。
✅システムの実装例
・プレイヤーが特定の範囲に入ったらイベントを発生させる(例:敵AIが追いかけてくるトリガー)
・アイテムを拾う処理を作る(例:プレイヤーがアイテムと重なったら取得)
・チェックポイントやゴールエリアの判定をする(例:特定のゾーンに入ったら次のステージへ)

On Component End Overlap
On Component Begin Overlapの逆で、オーバーラップ(重なり)が終わると自動で実行される。
つまり、トリガーゾーンから出た瞬間や、アイテムとの接触が終わったときに処理を実行できる。
例えば、プレイヤーがエリアから出たときに敵の警戒状態を解除する、アイテムのハイライトを消すなどの用途に使える。
✅システムの実装例
・プレイヤーが特定の範囲から出たらイベントを発生させる(例:敵の追跡をやめる)
・アイテムのハイライトを消す(例:プレイヤーがアイテムから離れたら光を消す)
・エリア外に出たら警告を消す(例:バトルエリアから出ると「戻れ!」の表示を出す)

On Component Wake
UnrealEngineの物理シミュレーションでは、動いていないオブジェクトは最適化のために、「スリープ状態」になる。
On Component Wakeは、そのオブジェクトが外部の力(衝突、プレイヤーの接触、重力の影響など)によって再び動き出した瞬間に自動で実行される。
✅システムの実装例
・静止していたオブジェクトが動いたら何かの処理をする(例:箱を押したら音を鳴らす)
・物理オブジェクトが動き出したらエフェクトを出す(例:石が転がったら土煙を出す)
・プレイヤーが静止していた物理オブジェクトに触れたことを検知する(例:オブジェクトを蹴ったら転がり始める)

On Component Sleep
UnrealEngineの物理シミュレーションで、オブジェクトが動いていないときにそのオブジェクトは「スリープ状態」に入る。
このイベントは、物理的に動きがなくなったとき(例えば、衝突後に静止したオブジェクト)に自動で実行される。
これを利用して、動かないオブジェクトに対して効率的に処理を停止したり、状態を変更したりすることができます。
✅システムの実装例
・物理オブジェクトが静止した時に何かの処理を行う(例:箱が動かなくなったら音を止める)
・オブジェクトが動かなくなったことを確認して、エフェクトを消す(例:障害物が止まったらエフェクトを終了)
・動かないオブジェクトに対してリソースを解放する(例:スリープ状態になったら物理計算を停止してパフォーマンスを最適化)

On Component Physics State Changed
このイベントは、物理オブジェクトの「状態変更」をトリガーとして発動します。
物理シミュレーション中のオブジェクトは、さまざまな状態(アクティブ、スリープ、動的、静的など)を持ちます。
このノードは、これらの状態が変わったときに反応するため、物理オブジェクトの挙動に基づいた処理を行いたい場合に非常に有用です。
✅システムの実装例
・物理オブジェクトが動的から静的に変わったときにエフェクトを表示する(例:車のタイヤが滑って停止した際に煙を出す)
・物理シミュレーションの状態変化を監視し、アニメーションやサウンドをトリガーする(例:オブジェクトが落下から停止したときに破裂音を鳴らす)
・物理オブジェクトの状態が変わることでゲーム内の進行を変更する。(例:物理オブジェクトがアクティブからスリープ状態に移行したときにゲームのフラグを切り替える)

On Begine Cursor Over
プレイヤーのマウスカーソルがウィジェット(ボタンや画像など)や3Dオブジェクトのコリジョン範囲に入った瞬間に発動します。
これにより、UIエレメントに対するインタラクションを検出したり、マウスオーバー時にエフェクトやアニメーションを追加することが可能です。
例えば、ボタンの上にカーソルを乗せたときに色を変えたり、UI要素を強調表示することができます。
✅システムの実装例
・UIボタンにマウスカーソルが乗ったときにエフェクトを表示する(例:ボタンがハイライト表示される)
・3Dオブジェクトにマウスカーソルが触れたときに情報ウィジェットを表示する(例:アイテム情報や詳細を表示する)
・UIに対してユーザーインタラクションを追加する(例:カーソルオーバーでボタンが変化し、クリック時にアクションが発生する)

On End Cursor Over
プレイヤーのマウスカーソルがウィジェットや3Dオブジェクトから離れた瞬間に発動する。
このイベントを利用して、UIエレメントの状態を元に戻したり、インタラクションを終了させることができます。
例えば、ボタンからカーソルが離れた際にハイライト表示を解除したり、エフェクトを消すことができます。
✅システムの実装例
・UIボタンにマウスカーソルが離れたときにハイライトを元に戻す(例:ボタンの色を元に戻す)
・3Dオブジェクトにマウスカーソルが離れたときに詳細表示を非表示にする(例:アイテム情報やツールチップを閉じる)
・カーソルオーバーでの強調表示を解除する(例:ボタンが元の状態に戻る)

On Clicked
ユーザーがUIボタンや他のインタラクティブな要素をクリックした瞬間に発動します。
このイベントは、ユーザーのインタラクションをトリガーとして、何かアクションを実行するために使用されます。
例えば、ボタンを押したときにゲームの状態を変更したり、UIを閉じる、または新しい画面を開くなど、ユーザーアクションに応じた処理を行います。
✅システムの実装例
・ボタンがクリックされたときにアクションを実行する(例:ゲーム開始、設定画面の表示、オプションメニューを開く)
・UI要素を閉じる処理を実行する(例:閉じるボタンをクリックしてメニューを閉じる)
・ゲーム内のステータスや変数を更新する(例:アイテムを使用したり、ポイントを加算する)

On Released
On Releasedは、ユーザーがUIボタンやインタラクティブ要素をクリックした後、マウスボタンを放した瞬間に発動します。
このイベントは、クリック開始時(On Cliced)とは異なり、クリックした後に放されたタイミングで処理を実行するために使用されます。
例えば、クリック時に視覚的なエフェクトを開始し、ボタンがリリースされたタイミングでそのエフェクトを停止することができます。
✅システムの実装例
・ボタンをクリックしている間にアニメーションやエフェクトを表示し、放したときにそのエフェクトを停止する(例:ボタンが押されている間、色を変えるなど)
・ゲーム内でアイテムを持っている状態でリリース時にアイテムを使用する処理を行う(例:攻撃ボタンを放すと攻撃を実行する)
・ドラッグ操作後にドロップしたときにアクションを実行する(例:インベントリ内でアイテムを移動させる)

On Input Touch Begin
On Input Touch Beginは、プレイヤーがタッチスクリーンデバイス(スマートフォンやタブレット)で画面に触れた瞬間に発動します。
このイベントは、タッチ入力の開始を検出し、タッチが始まったタイミングでアクションをトリガーするために使用されます。
例えば、スライド操作やタッチした位置に基づいた操作を行う場合に利用します。
タッチ操作が始まると、その位置に関連する処理やアニメーションを開始することができます。
✅システムの実装例
・タッチ開始時にUIエレメントを移動する(例:スワイプ操作でUI要素をスライドさせる)
・タッチした位置に基づいてキャラクターやカメラを動かす(例:タッチ操作でキャラクターを移動させる)
・タッチイベントを利用したゲーム内インタラクションの開始(例:タッチしてボタンを押す、スワイプで攻撃する)

On Input Touch End
On Input Touch Endは、プレイヤーがタッチスクリーンデバイスで画面から指を離した瞬間に発動します。
このイベントはタッチ操作が終了したことを検出し、タッチが終了したタイミングでアクションをトリガーするために使用されます。
例えば、タッチして移動させたオブジェクトをその位置で固定する、またはスワイプ操作が完了したことを検出して次のアクションに進むといったことが可能です。
✅システムの実装例
・タッチが終了したときにオブジェクトの位置を固定する(例:スワイプでスライドさせたUIをそのままの位置に保持する)
・タッチ操作後にキャラクターやカメラの動きを停止する(例:スワイプで移動したキャラクターを停止させる)
・タッチ入力終了後のアニメーションやエフェクトを開始する(例:タッチを終えた後にアイテムを使う処理を実行する)

On Input Touch Enter
On Input Touch Enterは、ユーザーがタッチスクリーンデバイスで画面上の特定のUI要素やオブジェクトに触れたときに発動します。
このイベントは、タッチが特定のエリアに入った瞬間を検出し、タッチが開始された場所がどのUIやオブジェクトかに基づいたアクションを起こすことができます。
例えば、ボタンをタッチした際にそのボタンがハイライトされるような視覚的フィードバックを提供する際に使用します。
✅システムの実装例
・タッチしたUI要素やオブジェクトにハイライトやエフェクトを表示する(例:ボタンをタッチした際に色が変わる、アニメーションが開始される)
・タッチ開始地点が特定のUIに入ったときにアクションを実行する(例:インベントリアイテムにタッチした際にその詳細情報を表示する)
・ドラッグ操作などでタッチの開始地点を検出する(例:オブジェクトをドラッグして特定のエリアに入ったときに処理を行う)

On Input Touch Leave
On Input Touch Leaveは、タッチがUI要素やオブジェクトから離れた瞬間に発動します。
ユーザーがタッチしたオブジェクトやUI要素を離れたとき、そのエリアを抜けたことを検出してアクションを起こすために使用されます。
例えば、ボタンから指が離れたときにハイライトを元に戻す、またはタッチしているオブジェクトをキャンセルするなど、ユーザーインタラクションに反応して視覚的なフィードバックを提供することができます。
✅システムの実装例
・タッチしたUI要素から離れたときにハイライトやエフェクトを戻す(例:ボタンをタッチした後、離れると色が元に戻る)
・タッチエリアを離れたことをトリガーにしてキャンセルアクションを実行する(例:ドラッグ操作中にオブジェクトがエリア外に出たら、移動をキャンセルする)
・特定のエリアをタッチして離れた際にアニメーションを停止する(例:スワイプ操作でオブジェクトを移動させた後、その移動を停止させる)

Physics Volume Changed
Physics Volume Changedは、ゲーム内で物理ボリュームの設定が変更されたときに発生します。
物理ボリュームとは、ゲームの物理エンジンが特定のエリア内で異なる物理特性を適用するためのエリアのことです。
このイベントは、例えば、重力の強さ、摩擦、空気抵抗などの物理特性を変更した際にトリガーされ、その設定変更に基づいた処理を実行するために利用されます。
✅システムの実装例
・物理エリア内に入った際に物理特性を変更する(例:特定のエリア内で重力を強くしたり、摩擦を高くする)
・エリア内で異なる物理的反応を起こす(例:スライムや水の中で異なる動き方をするキャラクター)
・エリア内の物理設定が変更されたことに応じて、ゲーム内の挙動を調整する(例:物理ボリュームの設定変更によりエフェクトや音を再生する)

On Component Activated
On Component Activatedは、コンポーネントがアクティブな状態になったときに発動します。
アクティブ化とは、コンポーネントが有効になり、処理が開始されたことを指します。
このイベントは、例えば物理演算を開始する、AIの動作を有効にする、UIを表示するなど、コンポーネントが機能を持ち始めたタイミングで使用されます。
✅システムの実装例
・キャラクターの特定のコンポーネントを有効化する際にトリガーをかける(例:キャラクターの物理シミュレーションを開始する、AIの行動を開始する)
・オブジェクトの状態がアクティブになったときにエフェクトやサウンドを発生させる(例:ボタンを押したときにアクションが開始する、ドアが開く)
・UIコンポーネントやインタラクションコンポーネントを有効にする(例:特定の条件でUIを表示したり、操作可能にする)

On Component Deactivated
On Component Deactivatedは、コンポーネントが非アクティブな状態になったときに発動します。
非アクティブ化とは、コンポーネントが無効になり、その機能が停止することを指します。
このイベントは、例えば物理シミュレーションを停止する、AIの行動を停止する、UIを非表示にするなど、コンポーネントが機能しなくなったタイミングで使用されます。
イベントが発火することで、停止後の処理や視覚的なフィードバックを提供できます。
✅システムの実装例
・キャラクターやオブジェクトの特定のコンポーネントを無効化する際にトリガーをかける(例:キャラクターの物理シミュレーションを停止する、AIの行動を止める)
・UIの非表示や無効化を行う(例:インベントリが閉じられるときにUIコンポーネントを無効化する)
・エフェクトやサウンドを停止させる(例:特定のアクションが完了した後に効果音やアニメーションを停止する)