CutsceneService - Smooth cutscenes using Bézier curves

Thanks for the suggestion!
Yeah, I never thought of that, because I’m only using it for 1/

  1. How can I change the speed of the cutscene? It just goes really fast and I didn’t see anything about it on the tutorial.

  2. I haven’t seen one yet, but a youtube tutorial would be really nice

  3. Great plugin! I really enjoy it

1 Like

You can change the duration which is the second argument. Example:

local cutscene = CutsceneService:Create(folder, duration)

I already wanted to make one, but I haven’t had time to do that yet. I’ll try to do it before my exams. :slightly_smiling_face:

Thanks, I love getting feedback from users! Make sure to ask me if you have further questions.

1 Like

This is really amazing! Keep up the great work

Would you mind adding a loop option? would make my life easier because I’m getting camera issues after doing Pause() > Resume() then:

LobbyCutscene.Completed:Connect(function(State)
    if State == Enum.PlaybackState.Completed then
        LobbyCutscene:Play()
   end
end)

Yeah that’s a good idea. You are getting problems because I’m firing the Completed event before changing the CameraType back. I’ll fix that today or tomorrow!

1 Like

I updated the module with some bug fixes. New features are to come in the next days!

Can you please release queues? The module is great and I want to repeat cutscenes after each other successively but can’t do so right now. If you could work on the feature and get it out, that would be appreciated.

Sorry that I haven’t released it yet. I am very busy and also focused on another module until now. I’ll try to finish version 1.3.0 soon.

Don’t stress it man your already providing a free service you aren’t obligated to provide updates on demand lol

1 Like

Yes, but without a bit of demand and pressure it would have taken way longer, maybe even a year. Showing interest is always good. I’m almost finished now, still testing the new features.

1 Like

How do I use this? YieldAfterCutscene

YieldAfterCutscene is a special function.
You can add as many as you want of them after the 2nd argument in the Create function.
Example:

local cutscene1 = CutsceneService:Create(workspace.Cutscene1, 5, "YieldAfterCutscene")

As you can see in the documentation, YieldAfterCutscene has a required parameter waitTime. Arguments for special functions can be passed right after the string:

local cutscene1 = CutsceneService:Create(workspace.Cutscene1, 5, "YieldAfterCutscene", 3)

This creates a cutscene which yields 3 seconds before finishing.

I hope I could help you. If you haven’t done so already, I recommend reading the 2nd section of the tutorial. I also made a place where you can see example cutscenes.

1 Like

It helped! Thanks. I have another question, you said that queues are still being implemented and we cant play cutscenes back to back, but is there a current workaround for this right now?

I just released version 1.3.0!

Known issues:

You might see in Studio that some functions have a parameter called cutscene or queue:

This exists because otherwise you would get this warning in strict mode:
image

Furthermore, you can play the same cutscene multiple times simultaneously when a queue is playing it.

1 Like

Would you be able to post the source to GitHub?

1 Like

Yup, you can find it here: GitHub - bstummer/CutsceneService

1 Like

In my game there’s a title screen where the camera is flying around the map, and when you push “Play” it ends the cutscene and teleports you to your plot with your camera going back to normal. I’d really like it to tween the camera back to the player, like it would normally if the game ended. But I can’t figure out how, there’s no way to “end” a cutscene and force it do it, so I’m not sure.

It’d be really nice if Queue:Cancel() could tween the camera back to the player, anyone got work arounds though?

It’d be possible to add a parameter to the Cancel function which decides whether the CameraType will be changed back (I can’t do this until Tuesday though).
In that time you could implement it yourself (it’s not that hard) or instantly change the CameraType to Scriptable after calling Cancel. After that, you can tween the camera to the player.

1 Like