Загрузка данных


local RunService = game:GetService("RunService")

local character = script.Parent
local rootPart = character:WaitForChild("HumanoidRootPart")
local humanoid = character:WaitForChild("Humanoid")

-- Отключаем стандартный плавный поворот Roblox, чтобы управлять им вручную
humanoid.AutoRotate = false

RunService.RenderStepped:Connect(function()
	local moveDir = humanoid.MoveDirection
	
	-- Проверяем, движется ли игрок (чтобы не сбрасывать ротацию в 0,0,0)
	if moveDir.Magnitude > 0 then
		-- Создаем CFrame, который смотрит в сторону движения
		-- Используем позицию RootPart и добавляем вектор направления
		local targetCFrame = CFrame.lookAt(rootPart.Position, rootPart.Position + moveDir)
		
		-- Устанавливаем CFrame моментально
		rootPart.CFrame = targetCFrame
	end
end)