Making this Head Movement Script work with R6

Hi,

So when playing around with said script (because why not)
I noticed that it only works with R15 and not R6, how would I make it work with R6?

What is happening is that for some reason, its flipped and not facing the correct way

local RunService = game:GetService("RunService") -- RunService
local Camera = workspace.CurrentCamera -- Camera

local Character: Model = script.Parent -- Player
local HRP: BasePart = Character:WaitForChild("HumanoidRootPart") -- HumanoidRootPart

local neck: Motor6D = Character:FindFirstChild("Neck", true) -- Gets Neck Attachment (Motor6D)

y = neck.C0.Y -- Default Head CFrame

RunService.RenderStepped:Connect(function()
	if neck then
		local CamDirection = HRP.CFrame:ToObjectSpace(Camera.CFrame).LookVector -- Object Space CFrame for Motor6D
		neck.C0 = CFrame.new(0,y,0) * CFrame.Angles(CamDirection.Y,-CamDirection.X,0) -- Applied CFrame to Motor6D
	end
end)

Its just a Random Script, so idk, probably a waste of my time.

Perhaps getting the character and changing its humanoid RigType to R6?

1 Like

This is a StarterCharacterScript, Also I am not sure what RigType that is as it is not within Enum.RigType.

For R15, to make the head face forward the neck.C0’s Orientation should be 0,0,0. Whereas for R6, the neck.C0’s Orientation is -90,-180,0

So you will want to differentiate the rig type and use different numbers for both

So how exactly would I do this, my attempts appear to have the Head turn in a Different Direction?

I’m only Interested in having this work for R6, not R15

Do you still need help regarding this?

1 Like