14.

UE5のEvent Tickノードとは?

ページの作成
テンプレートを更新

ページの作成

親となるページを選択してください。

ページは必ず何かしらの親ページに紐づきます。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球

子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール

親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!

Unreal Engine 5(UE5)では、Event Tickノードを使用すると、毎フレーム実行される処理を設定できます。ゲーム内の動的な挙動を制御するのに役立ち、アニメーションの更新、物理計算、カメラ制御などさまざまな用途で活用されます。

Event Tickの基本的な動作

Event Tickノードは、アクター(Actor)に紐づいており、ゲームのフレームレートに応じて毎フレーム実行されます。例えば、60FPSの環境では1秒間に60回、120FPSなら120回実行されます。そのため、ゲームの動作がフレームレートに依存しないように考慮する必要があります。

Event Tickの設定方法

Event Tickノードを使用するには、以下の手順を行います。

1. アクターを作成(Blueprint Classから新しいアクターを作成)

2. Event Tickノードを追加(アクターのEvent Graphで右クリックし、「Event Tick」と検索)

3. 実行したい処理を接続(例:位置の更新、変数の変更など)

Event Tickのサンプル(オブジェクトの移動)

ブループリントでの実装

以下の手順で、アクターを前進させる処理をブループリントで実装できます。

1. アクターのEvent Graphを開く

2. Event Tickノードを追加

3. Delta Secondsノードを取得(Tickノードから出力される)

4. 現在の位置を取得(Get Actor Location)

5. 移動量を計算(+演算ノードを使用)

6. 新しい位置を設定(Set Actor Location)

C++での実装

以下の例では、アクターの位置を毎フレーム更新し、徐々に前進させます。

void AMyActor::Tick(float DeltaTime) { Super::Tick(DeltaTime); FVector NewLocation = GetActorLocation() + FVector(100 * DeltaTime, 0, 0); SetActorLocation(NewLocation); }

このコードでは、DeltaTimeを使用してフレームレートに依存しない移動を実装しています。

Event Tickの最適化

Event Tickを使う際は、最適化を意識することが重要です。特に、毎フレーム実行する処理が増えると、パフォーマンスに影響を与える可能性があります。最適化のポイントをいくつか紹介します。

1. 必要な時だけ処理を実行(例えば、アクターが画面外にある場合はTickを無効化)

2. 一定間隔で更新(DoOnceノードやタイマーを使って、毎フレームではなく一定間隔で処理を実行)

3. Use Tick Intervalの活用(Tick Intervalを設定することで、実行頻度を調整可能)

Tickを無効化する方法

不要なTickを抑えることで、ゲームのパフォーマンスを向上させることができます。Tickを無効化するには、以下のように記述します。

SetActorTickEnabled(false); // Tickを無効化

逆に、特定の条件で再度有効化するには、以下のようにします。

SetActorTickEnabled(true); // Tickを有効化

まとめ

UE5のEvent Tickノードは、毎フレーム処理を実行するための強力な機能ですが、適切に使用しないとパフォーマンスに影響を与える可能性があります。ブループリントでもC++でも実装できるので、適切な方法を選び、最適化を意識しながら効率的に活用しましょう。

ページの作成
テンプレートを更新

ページの作成

親となるページを選択してください。

ページは必ず何かしらの親ページに紐づきます。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球

子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール

親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページ
子ページはありません
同階層のページ
  1. Event BeginPlay
  2. Event ActorBeginOverlap
  3. Event Tick
  4. on component begin overlap
  5. On Component Hit
  6. CameraBoom(Spring Arm)
  7. Get Player Character
  8. Nav Mesh Bounds Volume
  9. AI MoveTo
  10. Pawnと
  11. Create Render Target 2D
  12. Take High Res Screenshotノード
  13. Sphere Reflection Capture
  14. Event Tickノード
  15. ウィジェットのキャンバスパネル
  16. DefaultSceneRoot
  17. FloatingPawnMovement
  18. Set World Rotation
  19. Event Any Damage