Cutscene skill without moon animator

You can write your topic however you want, but you need to answer these questions:

  1. What do you want to achieve? I want to achieve the results as shown in the video below without moon animator

  2. What is the issue? I have tried blender but I’m not sure how to rig a r15 character and animate both of them at the same time whilst manipulating the camera

  3. What solutions have you tried so far? I have searched on the devforum and on YouTube but all of them require moon animator.I have tried scripting the camera’s CFrame too but it’s kinda difficult for an advanced skill

After that, you should include more details if you have any. Try to make your topic as descriptive as possible, so that it’s easier for people to help you!

This is what I want to achieve:

1 Like

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!

2 Likes

Yo first off thanks for the reply it’s very helpful but I have a few questions I wanna ask.

  1. When you animate multiple fake rigs along with your character, how do you play it on the client and replace those fake rigs to real characters?

  2. When you animate the camera (after setting up motor6Ds) how do you play the animation as the camera does not have a humanoid to actually play the animation.

  3. Do I use runService to make the player’s camera follow the fake camera(whilst the animation is playing)

Btw im a solo dev too lol

1.) You can choose either one of these options:

Option 1: Make the fake rig invisible and then create a new rig/real rig with no joints for arms,legs, and head. (Make sure to turn off “RequiresNeck”)

And then use weld to attach the limbs from the new rig/real rig to the corresponding parts in the fake rig.

Option 2 (When you need to change the players position after the animation ends): Parent the real rig to replicated storage and then clone the rig, delete the cloned rig’s joints (Make sure to turn off “RequiresNeck”), use weld to attach the limbs from the new rig/real rig to the corresponding parts in the fake rig, and then when the animation is finished, reparent the real rig to workspace and set its cframe to where the current fake rig is.

2.) The camera would be counted as limb. Just like how arms, legs, and head would be identified as limbs of the character.

I’d recommend you watching this to better understand custom characters:

3.) Personally, i’d use runservice to follow the fake camera while the animation is playing. But any type of loop you prefer is fine! (I forgot to say that to also set the camera to scriptable when setting its cframe)

I see but how would you play the animation that includes multiple rigs? do you group it up into a model and create a fake humanoid to play all the animations?

1 Like

If its fake rigs attached to the real rig, then you don’t have to group it. Just attach the limbs of the real rig to the corresponding parts of the fake rig then play the animation using the main humanoid

If its real multiple rigs, you’ll have to play each real rig with their specific animation

So basically you just insert multiple fake rigs into your character and play the animation and at the same time hiding the real character.After that you animate the fake camera along with it as well and setting the real camera to the fake camera’s cframe while iterating over every changed CFrame.

But if you wanna change the player’s position after the animation ends you basically insert the character into replicated Storage. But if you do this the fake rigs parent will be nil therefore resulting in an error.Unless you clone the fake rigs and set it to the player’s position and put the player in replicated storage am i right?

1 Like

Alright so, to make it clear,
A real rig (Set its archivable value to true so you can clone it btw!) will be cloned and the main rig would be parented to replicated storage or server storage if you want to. And then, the cloned real rig will have its joints deleted and its limbs would be attached to the corresponding limbs of the fake rig

Alr thank you very much.Ill still leave this discussion open tho as I want more ideas on this topic

1 Like