Hey, I reccomend you add a part above the character, (imagine this part is the camera), weld it to the character, and make it the CameraSubejct AND the focus.
local player = game.Players.LocalPlayer
local camera = workspace.CurrentCamera
player.CharacterAdded:Wait()
local Root = player.Character:WaitForChild("HumanoidRootPart")
camera.CameraType = Enum.CameraType.Scriptable
camera.FieldOfView = 40
game:GetService('RunService').Stepped:Connect(function()
local AngleX = 55
local AngleY = 15
local Offset = Vector3.new(10, 25, 12)
camera.CFrame = camera.CFrame:Lerp(CFrame.new(Root.Position + Offset) * CFrame.Angles(-math.rad(AngleX), math.rad(AngleY), 0), 1/50)
end)
Not the best example, but works kinda. We set the camera type to scriptable for it to behave as we want (kind of self-explanatory). Then we take humanoid root part’s position and offset + rotate it. Then we finish it off by lerping for it to look smooth just like in crossy road. However in case you’re making a roblox version of crossy road this wouldn’t really fit.