How do I (or can I) keyframe parameters to repeater events from sequencer?

I’m trying to call an Actor’s function/event – e.g. SetMyValue(float val) – from a level sequence, and I want to animate the parameter val in the curve editor in the sequencer.

From what I can tell, I have two choices for sequencer events here: trigger or repeater events.

trigger events don’t look like the right choice - I can call the event every frame but I have to set the parameter explicitly for each keyframe, which is every frame.

repeater events look like the right thing to use, but I don’t see a way to keyframe the parameter at all. It looks like a single, non-animatable field.

Am I missing something?

Let’s dive into the world of animation and parameter control in Unreal Engine’s Sequencer.

Curve Editor for Animation:
The Curve Editor is your friend here! It allows you to fine-tune keyframes and adjust animation curves.
You can open it from Sequencer by clicking the “Curve Editor” button in the Sequencer Toolbar.
Within the Curve Editor, you’ll find tools to create new keyframes, edit tangents, and manipulate animation curves.
Using Animation Curves:
You can use Animation Curves to automatically affect scalar material parameters.
Here’s how:
Match the curve name to the name of the material parameter in your material.
Enable the Material curve type in the Anim Curves panel.
Once done, the curve value starts affecting the material parameter 1.
Repeater Events:
You’re right that repeater events don’t directly allow keyframing parameters.
However, you can still achieve what you want:
Set up your animation curve in the Curve Editor.
Use a repeater event to trigger your function/event (e.g., SetMyValue(float val)).
Inside that function/event, read the value from the animation curve and apply it to your parameter.
Workflow Summary:
Use the Curve Editor to create smooth animation curves.
Set up your repeater event to call your function.
Extract the animated value from the curve within your function.

hope this helps
my AARP Medicare Health

If you’re trying to animate a primitive type like a float, you can use Repeaters or your construction script.

  1. In the BP you’re trying to animate, expose the float variable to Cinematics, and then key the value in the Sequencer, as you do with any other value.
  2. In that BP’s construction script, handle whatever happens with that value.
  3. Lastly, tell the sequencer to evaluate construction scripts every frame, to make sure the change is actually evaluated by the BP.
    image

Alternatively, you can use an Event Repeater track to call any function on the BP every frame. Then, that function would handle the value change, instead of the construction script. This has the added benefit that you don’t call every construction script of every actor in the sequence at every frame.

Ah, that’s a little gross but I guess it works.

I wouldn’t do it in the construction script, but I guess instead of trying to trigger SetMyFloat(val), I’d instead

  • make a public float parameter myNewValue, and
  • replace SetMyFloat(val) with something like UpdateMyFloat() which just… does the same thing except it uses the myNewValue parameter instead of a passed in parameter…

Which… personally I think is pretty dirty from an API / code clarity point of view but if it works it works I guess. Thanks.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.