Camera.CFrame and Humanoid.CameraOffset

I want to achieve the same effect as Humanoid.CameraOffset = 0,0,-1 by changing Camera.CFrame

I’ve tried Camera.CFrame *= CFrame(0,0,-1) but that’s not the effect I want

Camera.CFrame *= CFrame(0,0,-1)

the camera is always locked on to the head, so you will have to make a custom camera system or make the camera follow another part thats invisible.

make a invisible noncollide part and weld it to the head, set the camera subject to that part, and change the C0 by how u want the offset to be

1 Like

This should replicate the same effect as CameraOffset, although if you want to change the X, or the Y axis, you’ll have to use the UpVector, and RightVector instead

local direction = camera.CFrame.LookVector

game:GetService("RunService").RenderStepped:Connect(function()
	camera.CFrame += (direction * -1)
end)
1 Like

Try changing the CameraSubject to the HumanoidRootPart

1 Like
-- FirstPersonView
RunService:BindToRenderStep("View", Enum.RenderPriority.Camera.Value + 1, function()
        
        for _, v in character:GetChildren() do
             if v:IsA("BasePart") then
                 v.LocalTransparencyModifier = v.Transparency
             end
        end

	Humanoid.CameraOffset = Vector3.new(0,0,-1)
end)

I used this code but the rotation speed of Camera is slower than the rotation speed of Character I found that changing the CFrame of Camera can solve this problem but Camera.CFrame *= CFrame.new(0,0,-1) is not the effect I want

Or the problem I need to solve is that the Camera rotates slower than the Character’s parts when in first person

use this to make the camera face where the player character is facing, but it only works in first person

camera.CFrame =  character.PrimaryPart.CFrame
1 Like

I think I asked the wrong question. I’ll record a video. Thank you everybody!!!