For anyone still running into this like me.
Functions like FindNextMarkedFrame
, FindMarkedFrameByLabel
and FindMarkedFrameByFrameNumber
return the index of the marked frame.
Get the full array using GetMarkedFrames
and use the index to get the marked frame object.
(Don’t forget to check for -1, which I didn’t do in this image)
Now you just have to figure out the frame number values.
The values from MarkedFrame -> Frame Number
seem to be multiplied by tickrate and are much higher than sequence frame values.
If you use FindNextMarkedFrame
you won’t get the expected output until you use CurrentFrame * multiplier
as the input.
Based on Find Marked Frame by Frame Number doesn't seem to work properly - #4 by Moeren588, this multiplier is (1/fps)*tickrate
.
For my project at 50fps, this resulted in 480.
An example of how you could calculate this multiplier in a blueprint:
(This return 0 in Constructionscript, and correct in BeginPlay)
BlueprintUE link for copying nodes:
(using Unreal 5.2.1)