this post was submitted on 06 Jun 2025
179 points (98.9% liked)
Game Development
4451 readers
17 users here now
Welcome to the game development community! This is a place to talk about and post anything related to the field of game development.
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Z-up is really only common among architectural or engineering type software. CAD and other types of software, for example.
Y-up is common among basically all other types of software. DirectX API is Y-up, for example. Which means anything that interacts with DirectX that has Z-up needs to convert the axes first before doing its calculation (a literal nothing cost microoptimization, but could be big depending on the software and platform).
It's probably fine to leave as is in the long run, but its just annoying to me that I need to convert between the axes in Blender export settings, and would be more convenient if all the software I use used the same system, which is now Y-up. Blender is literally the only one. Honestly, I agree that it should be a user setting in Preferences, but I dont know if Blender is programmed to handle this or if it would need to be entirely rewritten.
Well, considering that Kinematics 3D ^[an academic subject, which should supposedly be your first introduction to a 3 dimensional coordinate system after the pre-introduction back in Kinematics 2D and pre-pre-introduction when learning the number line. i.e. If the academic curriculum was sensible] uses Z-up and the main reason for Y-up being the 2D monitor having been the primary target for graphics output (where X and Y would have been taken and mapped first, requiring Z to be added when converting the paradigm to 3D) back when these things were started and us, slowly transitioning to having the same application being usable with both - AR/VR tech and monitors^[which would mean that in some cases, the user might be seeing some axes-gimbal, requiring a translation layer later anyway and in this case on the application developer's side, which makes it a cognitive load], we might as well all go with Z-up from the start.