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.
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.