Help With Isometric Camera

I need help! I am trying to make a game with an isometric camera, and after looking through the devforum and official documentation, this was the best I could find! However, this view makes the player’s walking look weird (side to side if faster than up and down) and I was wondering if there can be a fix for that

local plr = game.Players.LocalPlayer
local mouse = plr:GetMouse()
repeat wait() until plr.Character
local char = plr.Character
local cam = game.Workspace.CurrentCamera
local zoom = 100
cam.FieldOfView = 10
cam.CameraType = Enum.CameraType.Scriptable
while true do
	game["Run Service"].RenderStepped:wait()
	if char then
		if char:FindFirstChild("Head") then
			cam.CoordinateFrame = CFrame.new(Vector3.new(char.Head.Position.X+zoom,char.Head.Position.Y+zoom,char.Head.Position.Z+zoom),char.Head.Position)
		end
	end
end

This is just a quirk of isometric camera setups. Sideways distance looks shorter because of projection. Visually, moving side-to-side covers more ground. If you want it to appear consistent, then you’ll have to make a custom movement system to speed up forward/backward movement, or to slow down sideways movement.

oh ok that makes a lot more sense

1 Like

Most 2D games don’t have this problem because the character always moves at a constant speed (it’s just moving on a 2D surface). In 3D, you’re literally going forwards and backwards, and it’ll appear slower because of that, since your speed is not how fast you are literally moving on screen, but how fast you are moving in the world.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.