How to make player torso follow camera?

I’m trying to recreate this:

As seen in the video, the player’s torso/head follows the camera. I want to recreate this effect.
Thanks! :slight_smile:

2 Likes

two parts series:

1 Like

How do I also make this effect the torso?
I typed out the script:

local camera = workspace.CurrentCamera

local character = game.Players.LocalPlayer.Character
local root = character:WaitForChild("HumanoidRootPart")
local neck = character:FindFirstChild("Neck", true)
local yOffset = neck.C0.Y

local CFNew, CFAng, asin = CFrame.new, CFrame.Angles, math.asin

game:GetService("RunService").RenderStepped:Connect(function()
	local cameraDirection = root.CFrame:toObjectSpace(camera.CFrame).lookVector
	
	if neck then
		neck.C0 = CFNew(0, yOffset, 0) * CFAng(0, -asin(cameraDirection.x), 0) * CFAng(asin(cameraDirection.y), 0, 0)
	end
end)

Thanks! :slight_smile:

3 Likes

You can do this

local camera = workspace.CurrentCamera

local character = game.Players.LocalPlayer.Character
local root = character:WaitForChild("HumanoidRootPart")
local neck = character:FindFirstChild("Neck", true)
local waist = character:FindFirstChild("Waist", true)
local yOffsetNeck = neck.C0.Y
local yOffsetWaist = waist.C0.Y

local CFNew, CFAng, asin = CFrame.new, CFrame.Angles, math.asin

game:GetService("RunService").RenderStepped:Connect(function()
	local cameraDirection = root.CFrame:toObjectSpace(camera.CFrame).lookVector
	
	if neck then
		neck.C0 = CFNew(0, yOffsetNeck, 0) * CFAng(0, -asin(cameraDirection.x), 0) * CFAng(asin(cameraDirection.y), 0, 0)
	end
if waist then
		waist.C0 = CFNew(0, yOffsetWaist, 0) * CFAng(0, -asin(cameraDirection.x), 0) * CFAng(asin(cameraDirection.y), 0, 0)
	end
end)
12 Likes

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