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?

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