Download

Level Sequence - How can be used in multiple Blueprint Actor instances?

Hello everyone,

I would like to ask for some suggestion about how to achieve what the title says: reuse a Sequence for several instances of a blueprint actor.

But let me explain in detail what I am trying to do: I have a Blueprint Actor that the player will be able to vault, in order to quickly move between different parts of the level:

This blueprint actor contains a Box Collision component, when the player overlaps with it and presses a given InputAction key, I want it to trigger the vault Sequence:

In order to make this work, I need to place a Camera Actor in the world and pass it to the Blueprint Actor as public variable. If I want the player to be able to vault in both directions, I would need to place two cameras, create two variables, and also to create two different Level Sequences.

So the issue is, that if I want to place several instances of that Blueprint actor, like this:

I would need to create an obscene amount of Camera Actors, and Sequences one by one for every single vault location. There must be a more intelligent way to achieve this.

@Max.Chen suggested to try Template Sequences in order to reuse the same Sequence inside several Blueprint instances:

in this way it’s possible to create a single Template Sequence, but the issue for me is that Template Sequences are apparently based on global axes, so let’s say I want the camera to move in a straight line in front of it along the +X axis. Well, I can then reuse the same Template sequence for all cameras facing the +X axis, but not for cameras facing other directions. There should be a way to tell Sequencer that I want to consider an actor’s local axes, so that +X is always forward, but I can’t find it anywhere.

So I would have to create four different Template Sequences, one for each cardinal direction, which is better than creating two Sequences for every single Blueprint Actor, but still is not ideal and looks like a workaround.

My question is, am I missing something? Should I use Matinee and cameraAnim instead of using Sequencer to animate cameras? Should I create four different Template Sequences and then choose which one to play based on which direction the camera is facing?

The ideal solution for me would be to use the player’s camera for the animation (like I do now using a cameraAnim):

so that I won’t need to place cameras for every instance of the Blueprint Actor, and also use Sequencer instead of Matinee’s cameraAnim. Is it possible to achieve this somehow?

If anyone could point me out in the right direction or give me some clues about how to get this to work, it would be awesome.
Thanks for reading, have a lovely day!

Did you try setting the Transform section’s BlendType to Relative? That should change it from setting an absolute world transform to a transform relative to the bound actor.

Hello! Yes I have tried to right click on the Transform track -> Blend Type -> Relative, but it still doesn’t consider the actor’s local axes:

Instead, the camera still moves along the world axes. Surely I am doing something wrong…
Thanks for your time and help!

UPDATE: Of course I was doing something wrong! The transform track in the Template Sequence was set to relative, but the cameras that I was binding to play the Sequence were just placed in the world and assigned as variables to the Blueprint Actor. This probably means that the Sequence was indeed using the relative transform, relative to the parent, which was the world and therefore it was like using World Transform.

I solved my problem by right clicking on the cameras (I still need two cameras for each vault location) -> Attach To -> BlueprintActor -> Root

So now the Template Sequence is using the cameras’ transform relative to the Blueprint actor, and that is exactly what I needed.

Thank you a lot @Max.Chen for your help and patience, have a great day!

1 Like