How to make player move backwards?

I have made a camera system that will offset the camera at a certain distance. A third person camera, but when I try to move backwards the player just spins around. I want the player to look in the same direction and just walk backwards. How can I do this?

1 Like

You can turn off Humanoid’s “AutoRotate” property.

2 Likes

The character’s move direction is determined by the camera angle. How do you set the camera’s angle?

Offset it by looking in the same direction as the HumanoidRootPart and putting it back relative to rootpart by -10 and 5 left.

Using relative vectors to position a camera will result in that happening. You’ll need to use absolute vectors.

I have never heard of “Absolute vectors”, could you give a link to an article or explain?

What I meant to say was to use world space, not object space. Not a LookVector, UpVector, or anything like that. This article covers world space and object space. Here’s a demonstration;

local RunService = game:GetService("RunService");
local hrp; --HumanoidRootPart;
local camera = workspace.CurrentCamera;

local offset = CFrame.new(0, 10, 10); --10 studs upwards, 10 studs backwards.

function updateCamera()
    camera.CFrame = hrp.CFrame * offset; --This will position the camera based on the offset
end
RunService:BindToRenderStep(updateCamera);

Wait so multiplying instead of adding achieves the same result? Huh, I never knew that. Also you do not have to add semicolon when working in lua;

I don’t just program in lua, it’s just a reflex I’ve developed when working with other languages.

1 Like