I REALLY want Y up or at least the option of changing it as a preference. I know its not an easy problem to solve. I guess the biggest problem would be if someone has written code blueprint with a certain axis in mind. My solution would be to tag each UObject/Actor or whatever with some metadata that would specify what mapping it has. so when things get compiled, the axis get properly sorted under the hood. Being able to override what mapping you want from an Actor as well. So when you request a value, you tell it what axis mapping you want.
Just a quick question:
Is it okay if we could have staff opinions on the past naming schemes? I feel is relevant, and would like to see a different side of , instead of a one-way feedback.
Sure, but I don’t think you would be bothered if they decide to rename Cascade by “Particule editor”. Because even if you are used to the name Cascade, you would still understand if someone talks about the Particule editor. Now, the other way around, if you hear about Cascade, you have no way to guess what it is. Unreal Engine 4 is nos free for everyone and the goal is probably to democratize the engine and make it easy to use for new guys. Now, it does not bother me too much to be honest, and yes, you can learn new vocabulary, it’s not too bad. But having names like Particule editor or Animation editor would be straightforward and understood by all type of users. And I think that proposition of renaming is all about that: make it clear to everyone.
About Y vs Z up axis debate. I never understood why 3D modelling software are using Y as the up axis. In my opinion you add axes with dimensions. As long as you are working in 1D, one axis is fine (x), if you work in 2D you need 2 axes (x and y for the added dimension) and if you work in 3D you need 3 axes (add the z for the newly added dimension). When you create your UI for instance, you need to position your elements on the screen, the screen is 2D, so you use x and y. It does not come to anyone to use x and z for for instance. So why when we work in a 3D world you want to use x and z for the plane and y for the third dimension? When you place a point on a map (2D) you give coordinates in 2D: X and Y. And you can see the map as a 2D map, so the coordinates to place an actor should be X and Y. If you need an additional vertical dimension, you add one (Z). I have no 3D background, I’m an engineer and physicist with a C++ background. And anywhere in physics courses, the z axis is the vertical one. And in the order of things, why a left-hand convention? That’s the first time I see that. Since then I have learned that’s a convention often used in the 3D world. But again, makes no sense when you come with a classic physics training where everything uses right-handed frames. I’d actually be curious to understand why all 3D softwares had chosen different conventions (like Y-axis and left-handed frames). All the math and physics litterature are built on over conventions… So I don’t understand it. However, it’s only conventions and everyone can learn to live with it. Of course, if Epic could find a way to make it configurable (Y or Z axis and left vs right handed frames) that would be awesome. But I don’t think it’s easy to do internally.
I also agree on the “location” name used by Transform instead of “position”. But it’s quite a detail.
On the top of my head, the big I have is with units. I know that the only thing that matters is consistency. But it took me a while to figure it out and I still have some issues with it. The gravity field does not mention any unit for instance. It’s only by seing -980 that I knew about it. I’m attempting to use UE4 for a serious game. I want to be able to simulate physics in a realistic way. So my modelling needs consistent units between the size of my model, its weight to compute forces in Newtons. And then when I add the force to my object, nothing moved. It took me a while to figure that everything was in centimeters. If it’s to make things easier on the user, why not. However, in my opition the engine should use consistent SI units internally. Forces should be Newtons, weights in kg (which is actually correct) and distances in meters. Now, it’s mixed, which make it difficult to compute any real physics at all to be honest. And if you want to make it easy to the user, there could be a small dropbox to change the units (like if you want to enter a particular distance in cm) and the conversion would occur internally automatically. At the minimum, units should be written. It is clear for the weight for instance, but the gravity, the forces, the distance, I have no way to know into which units I should be entering my numbers.