Cutscene transitions too fast

Hey! I’m tryna make a simple cutscene where your above a train station and after a little while, you see a train goin pass. Once it has fully passed, it changes position to infront of the train. The problem is, that whenever i try to make the cutscene usin a cutscene plugin, it goes too fast, even though i’ve put the correct speed. At this point, i’m considering coding the cutscene myself, but i don’t know where to start. Help would be appreciated.


If you don’t know how to script cutscenes, (it would require knowledge on RunService, Beziers and camera) I would not recommend trying. If you do want to try, I can link a tutorial on how to make curves, which you can apply to your camera to make a cutscene. However this may just bring you to the issue you have now.
Are you timing the cutscene with seconds or a speed?

I’m timing it with seconds, but it still goes too fast. I’ve tried it several times, but when i try, it moves before it’s supposed to. I’ll try again tho, since i may’ve just been inaccurate with the timing. I’ll let you know if it still is inaccurate.

First, try counting by yourself whether the time you put in the plugin tweens like that or not. If it does, just add up the number. If it doesn’t then here are a few steps you might be able to do it:

  • First set your camera CFrame to the CFrame on top of the train.
  • Second, use wait on the script until the train passes.
  • When the train is passed, just tween upto it using TweenInfo and TweenService:Create(…)

Tell us (developers) if you need more help.

I tried it, it worked like it normally should’ve, but at the end when it’s changing position to infront of the train, it’s tweening which i feel like doesn’t really match with the cutscene. It may just be the easing style, but how do i make it instantly change to the position?

this is the script it executed:

local data = {{
	CFrame =, 75.8065338, 581.121277, 
		-0.999763131, 0.0214606933, -0.00363158411, 
		-0, 0.166848257, 0.985982716, 0.0217657909, 0.985749185, 
		-0.166808724);Seconds = 2;Style = Enum.EasingStyle.Linear},{CFrame =, 
	75.8065338, 581.121277, -0.999763131, 0.0214606933, -0.00363158411, -0, 0.166848257, 0.985982716, 0.0217657909, 0.985749185, -0.166808724);Seconds = 6;Style = Enum.EasingStyle.Linear},{CFrame =, 13.3365555, 380.256683, -0.996531129, -0.010869422, 0.0825078934, -0, 0.991433918, 0.130609483, -0.0832207724, 0.130156413, -0.98799473);Seconds = 2;Style = Enum.EasingStyle.Linear}}
local camera = workspace.CurrentCamera
local tween = game:GetService("TweenService")
repeat wait() camera.CameraType = Enum.CameraType.Scriptable until camera.CameraType == Enum.CameraType.Scriptable
for i,v in pairs(data) do
	{CFrame = v.CFrame}
camera.CameraType = Enum.CameraType.Custom

Oh, if you want to do that, no need to tween. Just change the CFrame. Nevermind, I’m just dumb. That’s just a spelling mistake. Try changing your seconds to 5 or 7 maybe?

1 Like

I think i fixed it now, there’s just one bug tho. The camera looks like it’s flying when the cutscene starts. when the cutscene starts, the camera flies from the spawn to the position it’s supposed to be at. Any way to fix this?

Are you tweening the camera to the position the camera is supposed to be, at first? If so, you could do some other effects like fading in and out, or just static change of camera position or any other effects you could think of.

1 Like

Thanks for the ideas! I finally fixed it now. In the script, i accidentally made it so it took 2 seconds to change the CFrame.

Alright, good job! That’s how you fix it! Keep developing!

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.