I’ve been trying this isometric camera tutorial implementing the code provided with some slight changes:
local Players = game:GetService("Players") local RunService = game:GetService("RunService") local player = Players.LocalPlayer local camera = workspace.CurrentCamera local CAMERA_DEPTH = 64 local HEIGHT_OFFSET = 25 camera.FieldOfView = 40 local function updateCamera() local character = player.Character if character then local root = character:FindFirstChild("HumanoidRootPart") if root then local rootPosition = root.Position + Vector3.new(0, HEIGHT_OFFSET, 0) local cameraPosition = rootPosition + Vector3.new(CAMERA_DEPTH, CAMERA_DEPTH, CAMERA_DEPTH) camera.CFrame = CFrame.lookAt(cameraPosition, rootPosition) end end end RunService:BindToRenderStep("IsometricCamera", Enum.RenderPriority.Camera.Value + 1, updateCamera)
And looks like this: https://gyazo.com/…
The code mentioned above fixes the camera with
CFrame.lookAt “disabling” the rotation along the Y axis. Is there any possible way to add this functionality again?
Additionally, how can I make the character to always look “north” relative to the camera view? I need this in order to make the camera always point to the back of the character. My intention is that the character auto-rotates when the camera turns (using the RMB, swipe in mobile or camera thumbstick with controller) and that the direction of the movement is relative to camera view, not to world (with keyboard: WASD should be NorthEastSouthWest according to camera view).