Ive been trying to make it so that the neck's orientation follows the player camera's orientation so that it seems like when even the camera turns, you will know from how to player's head is turned. It works when the player does not move at all but then the player moves and spin, the movement orientation adds up with the camera orientation...
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local player = game.Players.LocalPlayer
local character = player.Character
local neck = character:WaitForChild("Head"):WaitForChild("Neck")
local camera = workspace.CurrentCamera
local function updateNeckC0()
local NeckOriginalC0 = neck.C0.Position
local targetPosition = camera.CFrame.Position
neck.C0 = CFrame.new(NeckOriginalC0, targetPosition) * CFrame.Angles(0, math.rad(180), 0)
end
RunService:BindToRenderStep("UpdateNeckC0", Enum.RenderPriority.Camera.Value + 1, updateNeckC0)