Camera CFrame Big Problem

Hello, i making a cinematic with camera cframe, the game is only in first person, and the bug is active only with 1st person, help me.

1 Like

I’d say disable first person while the animation/intro is active, then re-enable it. You can find out how to here.

Change the Camera.CameraType to Enum.CameraType.Scriptable.

I make the script print and it say the camera is in scriptable mode

What is your code for controlling the camera? Also, what do you mean by first person mode?

There is the code for the camera cframe and cameraMode :

local Event = game.ReplicatedStorage.Cinematic

local Player = game.Players.LocalPlayer
local Char = Player.Character

local Camera = game.Workspace.CurrentCamera

local InHead = false

repeat wait() until Camera.CameraSubject ~= nil

Event.OnClientEvent:Connect(function(NumberOfCinematic, EnterValue)
	if NumberOfCinematic == 1 then
		if EnterValue == true then
			Camera.CameraType = Enum.CameraType.Scriptable
			InHead = true
		else
			Camera.CameraType = Enum.CameraType.Custom
			InHead = false
		end
	end
end)

while InHead do
	if InHead == false then return end
	print("CFRAME")
	Camera.CFrame = Char.Head.CFrame
	print(Camera.CameraType)
	wait()
end

You can try this one:

local RunService = game:GetService('RunService')

while InHead do
	if InHead == false then return end
	--print("CFRAME")
	Camera.CFrame = Head.CFrame
	--print(Camera.CameraType)
	RunService.RenderStepped:Wait()
end

It might smooth the motion, but it seems like you have another script that’s interfering with the camera. Try this one for the loop of the script.

It don’t work too, sorry : ( Do you have some other ideas ?

Not sure, try searching for any other scripts that might change the camera CFrame.

Disable the humanoid’s AutoRotate then re-enable it after the cutscene

local Humanoid = Char:WaitForChild("Humanoid")
Humanoid.AutoRotate = false