This is actually a tedious process, and may take days/weeks/months. But is possible.
(In the perspective of being a solo dev lol)
First, you’ll have to pick one of these 2 options:
Option 1: Create a fake camera (can be multiple cameras) and use Motor6D to attach/rig it to your character so you can animate it
Option 2: Create a fake camera use Tweens and CFrame with AnimationEvents to animate the fake camera
Second (Optional), Now we’ll be animating multiple rigs.
If you’d wish to animate 2 rigs or multiple rigs at a time, you’ll have to either:
Option 1: Create a fake rig and use Motor6D to attach/rig it to your character to animate it
or
Option 2 (Harder): Animate separate rigs and sync it by setting its timestamp and speed to 0 and then play it by setting its speed to 1
(Yes, sometimes the animation is not synced with the second rig when only using :Play() but that could be only for me so who knows)
Third, Now let’s script the scenes!
This is actually the most tedious process of the whole part
(if you’re a solo dev!!)
First: Make a loop which sets the camera’s cframe to the current fake camera
(Examples: Cam1.CFrame, Cam2.CFrame, Cam5.CFrame, and so on)
Second: Use the AnimationEvents which you made during the animating process
and it would be your choice to do what you want in those events.
(Examples:
Event1 sets the current variable (fake camera) to cam6, and as a result the camera’s cframe changes to cam6’s cframe
Event2 Tweens/Animates the camera to your preferred cframe in this event
Event3 Changes the field of view of the camera)
And then lastly, Third: Clean up the animation once its done! (Optional: Animate the camera or add some extra effects when the animation is done)
Heres an example of my end result:
There could be other easier methods of doing this, but this is what I currently know so don’t take my word for it if you don’t want to
Oh, lastly, keep up the good work!