So normally player character moves relative to the orientation and position of the camera. However for my orthogonal game I want to make it easy for the players to move diagonally across the screen with only one key press. How would I do this?
Specifically instead of making the movement directions in world space of the camera. Swap it the axis you want to set it to.
--change the camera CFrame to the CFrame with the axis you want like CFrame.new local function getWalkDirectionWorldSpace() local walkDir = camera.CFrame:VectorToWorldSpace( getWalkDirectionCameraSpace() ) walkDir *= Vector3.new(1, 0, 1) --Set Y axis to 0 if walkDir.Magnitude > 0 then --(0, 0, 0).Unit = NaN, do not want walkDir = walkDir.Unit --Normalize, because we (probably) changed an Axis so it's no longer a unit vector end return walkDir end