How to do animated cameras?

Hi there.

I want to do animation sequences like what they do on some RPGs, like when they summon a monster in Final Fantasy and the camera does special movements and such.

Sorta like this:

How can you achieve that kind of thing? Also, if it’s a Matinee thingy, how can I reuse that Matinee sequence over levels?

At work, so not sure if perfect, but Telsa very good. See if this helps.


The problem that I see with that is that something needs to be currently on the map to be used in Matinee. So say I spawn my monster and I want to to have some sort of animation with a special camera going on. I don’t even know if Matinee can actually get the reference to the spawned monster to focus the camera on it.

Just did this for a camera shake, maybe you can adapt it to your goal, as you can move camera like a timeline and set your delays :

Why don’t don’t you just include a built in camera component on each monster, all in the same location. So then when you spawn the monster it has it’s own camera attached to it right where you want it. You can then switch to that camera and use a timeline to animate the position of the camera however you want. And then, just switch back to the players camera and start the fight.

You could also animate them in a matinee the way you want and parent all the cameras to a null(or whatever doesn’t matter). Then translate/rotate the null to the monster and call on the matinee. So the cameras will still be animated relative to their parent.

Edit: I haven’t tested this, just an idea.

Thanks, that might come in handy!

The problem is that if I create a camera attached to the monster it will follow it, but just that. It won’t be able to perform any kind of complex animation like what you would see on Final Fantasy or Kingdom Hearts.

That’s actually what I was thinking, but the problem would be… Aren’t Matinee sequences local to the map they are created in? (That they only work in the same map they are created in) So what if I switch maps? Then I wouldn’t be able to use the same animation sequence anywhere else.

You can save the InterpData of a Matinee actor and then use it for another Matinee actor. I’m not sure if/how it works between levels though.

Seems you can set Matinee Data but I haven’t found a way to save the Matinee Data from a matinee.


So you can create Matinee Data in the content browser and set the matinee in the level to use the data. Then you can modify the matinee data through that matinee to your liking. Then you can make a new level and use that data on a new matinee; the matinee will have everything except for the objects(cameras and such) it was using. So not sure how to fix that.

matinee matinee

That’s what I thought you needed to do, but I’m not sure how to save its data to a file permanently.

So the Matinee Data only contains the interpolation data and such? Maybe I could randomly spawn a camera in my level and on runtime set the matinee to use that camera, but I don’t know. It seems kinda overcomplicated in my opinion. I’m sure there must be another way to do it. I already created a test animation and I’m just looking for a way to take it to any other level.

Sorry to double post, but no one has more info on this? How do AAA developers deal with these kind of things?
I don’t care if it involves having to code something in C++, but I’d like to know how to implement this sort of behaviour.