自分へのメモも兼ねて、Qitaに記事を起こしていきます。
過去に調べた事でもいざ使おうとした際に、再度調べ直してしまう事もあった為、記事にしてきます。
レベルシーケンサでの時間について
今回は、レベルシーケンスの時間のアクセスについて書いてきます。
『開始・終了時間』と再生時間でアクセス方法が異なり、またウィジェットとブループリントでアクセス方法が異なる為、一度整理したいと考えていました。
この記事で指している『レベルシーケンスの時間』とは、以下の三つを指します。
- レベルシーケンスの開始時間
- レベルシーケンスの終了時間
- 現在再生している時間
調査環境
UnrealEngine 5.3.2
ウィジェット(Editor Scripting Utilities)からのアクセス
レベルシーケンスの開始時間
レベルシーケンスの開始時間にアクセスするノードです。
NonPure関数(青いノード)のレベルシーケンスの取得にはGetCurrentLevelSeuqnceノードを使用してください。
GetPlaybackStart
SetPlaybackStart
レベルシーケンスの終了時間
レベルシーケンスの終了時間にアクセスするノードです。
NonPure関数(青いノード)のレベルシーケンスの取得にはGetCurrentLevelSeuqnceノードを使用してください。
GetPlaybackEnd
SetPlaybackEnd
時間の範囲の取得
時間の範囲を取得するノードです。
NonPure関数(青いノード)のレベルシーケンスの取得にはGetCurrentLevelSeuqnceノードを使用してください。
SetPlaybackRangeノードは実装されていません
現在再生している時間
レベルシーケンスの現在の時間にアクセスするノードです。
GetCurrentTime
再生中かどうか調べる
レベルシーケンスを再生中かどうかを知るには、IsCurrentLevelSequencePlayingノードを使用します。
WidgetのTickでパラメータを同期させたいけど、常に同期させるとツールから更新できないと思います。
再生時(更新された時)のみ同期するような使い方もできると思います。
ブループリント(Actor)からのアクセス
レベルシーケンスの開始時間
レベルシーケンスの開始時間にアクセスするノードです。
レベルシーケンスの取得にはPure関数(緑のノード)のGetCurrentLevelSeuqnceノードを使用してください。
GetPlaybackStart
SetPlaybackStart
使い方
レベルシーケンスの終了時間
レベルシーケンスの終了時間にアクセスするノードです。
レベルシーケンスの取得にはPure関数(緑のノード)GetCurrentLevelSeuqnceノードを使用してください。
GetPlaybackEnd
SetPlaybackEnd
時間の範囲の取得
時間の範囲を取得するノードです。
レベルシーケンスの取得にはPure関数(緑のノード)GetCurrentLevelSeuqnceノードを使用してください。
GetPlaybackRange
使い方
現在再生している時間
GetCurrentLevelSequenceCurrentFrame
Runtime時に現在の再生時間を取る
最後に例外の対応として、私も頭を捻った対応を説明します。
それは、MovieRenderQueueでレンダリング時に、現在の再生フレームを取りたい場合です。
『GetCurrentLevelSequenceCurrentFrameでは駄目なのか?』と疑問に思う方も居ると思いますが、GetCurrentLevelSequenceCurrentFrameは、PIEでは動作しますが、MovieRenderQueueでレンダリング時は、0を返します。そこで、別のアプローチ方法を探す必要がありました。
方法としては、『SeqeuencePlayerから取得する』方法になり、GetCurrentTimeノードを使います。
GetCurrentTime
使い方
おまけ
ここからはおまけ記事になります。
せっかくなので、他のノードの機能もさわってみました。
再生時間のロックの切り替え
SetPlaybackRangeLocked
再生時間のロックを切り替えられます。ロックされていると、マウスオーバーしてもアイコンが変更されません。
IsPlaybackRangeLocked
再生時間のロックされているかは、このノードで調べられます。
フレームレートの変更
レベルシーケンスのフレームレートは、それぞれ『Get』『Set』が用意されています。
GetDisplayRate
SetDisplayRate
再生スピードの変更
レベルシーケンスの再生スピードは、それぞれ『Get』『Set』が用意されています。
GetPlaybackSpeed
SetPlaybackSpeed