BLOGブログ

2026.10.28UE5UE/ C++UE/ Sequencer

[UE5] シーケンサーの Event Trackはヒッチで飛ぶのか調査してみた

執筆バージョン: Unreal Engine 5.4

はじめに

今回はレベルシーケンサーやUMGアニメーションにて採用される Event Trackについて、ヒッチ発生時の挙動を検証してみました

シーケンサーは演出や UI制御に幅広く利用されていますが

  • フレームレートの低下
  • 重いロード処理
  • 想定外のヒッチ

などが発生した場合でも、配置したイベントキーは確実に実行されるのか

過去にシーケンサー関連のトラブルを調査した際「ヒッチによってイベントが実行されなかったのではないか」と考えた経験がありまして

この機会にシーケンサーの実際の挙動はどうなっているのかを検証してみることにしました


検証方法

今回の検証では、イベントキーと Audio Section を配置したシンプルなレベルシーケンサーを用意して行いました

イベントキーではキューブの表示状態を切り替え、Audio Track では効果音を再生します

 

このシーケンサーの途中に意図的なヒッチを発生させるイベントを配置し、その前後で各トラックがどのように動作するかを確認します

ヒッチを強制的に起こすコード(C++)

確認ポイントは以下の通りです。

  • Event Track のイベントは実行されるか
  • Audio は正常に再生されるか
  • ヒッチによって処理が飛ばされるケースは存在するか

 

ちょうど2つイベントがスキップされるような形で、ヒッチイベントを組み込みました
エディター上での再生でも、ヒッチを確認できます


検証結果

  • Event Track はヒッチ中のイベントも取りこぼされず、ヒッチ終了後にまとめて実行された
  • Audio Trackではヒッチ中に存在していた一部のAudio Sectionが再生されなかった

今回の検証では、Event Track の取りこぼしは確認できませんでした

一方で、一部の Audio Section では再生漏れが発生する結果となりました


実装確認

エンジンコードを追ったところ、Event Track はイベントキーごとに実行管理されており、イベント実行時にはキーの時刻情報も保持されていました
 
また、単純な「現在時刻との一致判定」でイベントを発火しているわけではなく、ヒッチで飛んでしまった期間に存在するイベントも収集して実行する仕組みになっているようです
 
今回の検証結果とも一致しており、ヒッチ後もイベントが実行されることを確認できました

 


考察

今回の検証結果と実装確認から、Event Track はヒッチによる再生位置のジャンプをある程度考慮した実装になっていると考えられます

少なくとも今回の検証環境では、イベントキーの取りこぼしは確認できませんでした

また、過去に遭遇した問題についても、今回の結果を見る限り Event Track 自体ではなく、短い Section や別のトラックに起因していた可能性があります


まとめ

今回の調査では、「イベントキーはヒッチで飛ぶのではないか」という疑問から検証を始めました
しかし実際には Event Track の取りこぼしは確認できず、むしろ Audio Section などの区間を持つトラックの方に興味深い挙動が見られました

今回は Event Trackのヒッチについての調査だったため、この記事はここで一区切りとしますが
次は Audio Track 側も調査し、なぜ再生されなかったのかも確認してみたいと思います