Camera Facing the Wrong Way on Spawn

When the player loads into my game I want their camera to Face towards my game, which is a bunch of stages lined up after another, where as instead their camera defaults to looking exactly opposite to my game

I’ve tried asking people and nothings worked, If I set the CFrame to the marble the camera turns Fixed and Its not custom, is there anyway I can default the camera to look towards the stages?

And about rotating the character, I’ve tried that and it does not make a difference

Here is my Camera Script

local player = game.Players.LocalPlayer
local RunService = game:GetService("RunService")
local Workspace = game.Workspace
local camera = Workspace.CurrentCamera









RunService.RenderStepped:Connect(function()
	local character = player.Character
	if character then
		local marble = character:FindFirstChild("Marble")
		--local square = marble:FindFirstChild("Square")
		
		camera.CameraType = Enum.CameraType.Custom
		
		
		
		
	if marble then
			camera.CameraSubject = marble
			local offset = CFrame.new(0, 3, 8)
			local newCFrame = CFrame.new(marble.Position) * CFrame.Angles(0, math.rad(180), 0)
			camera.CFrame = newCFrame * offset
			task.wait(0.1)
			camera.CameraType = Enum.CameraType.Custom
				
		else
			--local head = character:FindFirstChild("Head")
			if character then
				camera.CameraSubject = character:FindFirstChild("Humanoid")
			end
		end
	end
	--print(camera.CameraSubject)
end)

Thanks for helping if you can :slightly_smiling_face:

If they spawn on a spawnpoint I believe rotating the spawnpoint would work.

If not you can change the CFrame they teleport to.

1 Like

There is no spawn point, And i attempted to add one and rotate it and nothing happened

and I also tried to rotate the character on spawn but nothing happened

did you already look into the way the marble spawns?

What do you mean by that? if you want the script here it is: ```local marble = Instance.new(“Part”)
marble.Size = Vector3.new(8,8,8)
marble.Shape = Enum.PartType.Ball
marble.Material = Enum.Material.SmoothPlastic
marble.BrickColor = BrickColor.White()
marble.Transparency = 0.5
marble.Name = “Marble”
marble.Position = Vector3.new(-1.5, 16, -76)
marble.Parent = char`

what happens if you change the orientation of the marble?

nothing I’ve tried that in a different script

char.HumanoidRootPart.Orientation = Vector3.new(value, value, value)

you want to add this before the character gets welded to rotate it and after it is welded to rotate the cam

have you tried using a signal for when the marble is set, rather than continuously checking in a run service loop, because you’re continuously setting the camera subject to marble which is unnecessary. Try just setting the camera subject once outside the loop, and then rotating it once after the subject is set, then you can initialize your loop for other things you may need to check every frame.