LoginSignup
0
0

【UE5】Sequencerでのイベントでフレームジャンプを行う方法

Posted at

はじめに

UEのシーケンサーを用いてゲーム開発を行う際に、特定条件でのフレームジャンプを行うことが必要になることがあります。

本記事ではシーケンサーでフレームジャンプを行う方法を記載します。

関数

MovieSceneSequencePlayerのSetPlaybackPositionを使用します。

※4.26以前ではPlayToFrameという関数がありましたが廃止されております。

こちらの関数にMovieSceneSequencePlaybackParamsを作成して、その値を渡すことでフレームジャンプが可能になります。

実装

MovieSceneSequencePlaybackParamsではFrame、Time、MarkedFrameのどれかで指定が可能ですが、今回はFrameを指定する形で実装を行います。

Frameの値はFrameTime内のFrameNumberを使用するため、実装するにはそれぞれの作成が必要になります。

FrameNumberのValueに値を渡せれば良いのでサンプルは以下のようになります。

image.png

FrameNumberを作成→FrameTimeを作成→MovieSceneSequencePlaybackParamsを作成→LevelSequenceActorのSequencePlayerのSetPlaybackPosition関数の引数に値を渡す

スキップ方法

スキップの方法として、間のイベントの値を実行するか、無視するかをUpdateMethodの値で設定が可能です。

image.png

基本的に実行したい場合はPlay、無視したい場合はJumpで設定

シーケンサー側に実装

作成した関数をシーケンサー側のイベントで呼び出す形で作成します。

image.png

画像はLevelSequenceActorを取得しているManagerを取得してスキップ関数を実行しています
(非効率ですが・・・)

image.png

実装したシーケンサーではパラメーターの値の位置へジャンプを行う形にできます。

また、本機能を用いることで、シーケンサー内で特定条件によるジャンプや、ボタン押下による特定位置へのスキップなどが可能になります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0