7
$\begingroup$

I had a very frustrating experience with Blender's UI. In the transform section there is location, rotation and scale and I thought scale would be dimensions, which I found out later it is not. Now I think a lot of people will confuse scale with dimensions (which is not even visible by default). Let's say I want to make a 0.1m cube; I tried to set the scale to 0.1 but since the default cube is 2m my new cube is now 0.2m.

Why is the default cube chosen like this and not the more natural and intuitive 1m3?

Wouldn't a default cube of 1m3 be better since then a naive user who confuses scale with dimensions would still get the desired result when trying to input a cube of length 0.1 and input that number into the scale?

$\endgroup$
  • $\begingroup$ When you look at the default cube there is one unit extending in each direction from the centre. One above 0, one below equally two and then the same for X, Y axis. But before I looked I was totally with you. $\endgroup$ – rob Oct 1 '18 at 11:40
  • 2
    $\begingroup$ My guess is it's arbitrary but IMO sensible choice. Akin to a circle of radius 1 there is no fraction involved for radius vs diameter. All the components of points of the cube have value -1 or 1 and a centre at (0, 0, 0). There are a lot of people clear on the distinction between scale and dimension. eg Scale model cars are rarely larger in dimension than the original. The unit is ideal for a system like the metric system. Your question could be considered a little off-topic as primarily opinion base. $\endgroup$ – batFINGER Oct 1 '18 at 11:44
  • 9
    $\begingroup$ I'd just like to point out that "2 meters cubed" is not "2 cubic meters". The default cube is indeed 8 cubic meters! $\endgroup$ – Nicola Sap Oct 1 '18 at 14:05
10
$\begingroup$

There is no reason. But the default cube goes 1 unit in every direction, it's the same size as a sphere with a radius of 1 unit as well as for example procedural spherical gradient, a plain axis empty has lines going 1 unit in each direction of all axis as well. If it was 1 unit size and it was centered it would have sides ending at half a unit in all directions, that might be weird. So for what it's worth, it has some sense behind it. I think it is mainly this way, only because it had to be some size, and this is no better or worse than anything else. You can create a cube of any size and hit ctrl+u to save another default file if that makes more sense to you.

$\endgroup$
  • 1
    $\begingroup$ The reasons don't stand as much solid arguments. Someone else might see beauty in a system with unit sized cube and sphere with diameter of one and empty with half unit lines etc. For example Houdini uses this concept and it works great. The middle of the answer kind of contradicts the first sentence. $\endgroup$ – Jaroslav Jerryno Novotny Oct 1 '18 at 15:34
  • $\begingroup$ Yes, I agree. There might be many points of view here and no one way is better than another. I don't believe this is extremely important nor that the arguments are or should be solid. I would be surprised if there was any deep philosophical discussion among the developers about it at the time it was decided. It could be one way or the other. Same as with the directions of the coordinates. What axis should point in what direction depends on how you look at it. Literally. It would be interesting to hear a more detailed answer from some developer who might know more about it. $\endgroup$ – Martin Z Oct 1 '18 at 15:46
  • $\begingroup$ For the axis system there could be a case build that everyone else sticks to the +Y up orientation, even openGL, so Blender is a black sheep here. But the starting primitives everyone does differently, even the way they are put into the scene :) $\endgroup$ – Jaroslav Jerryno Novotny Oct 1 '18 at 15:58
  • $\begingroup$ Oh, but everyone does the axis differently as well - think of all the technical CAD software. Many cases can be built. It's not only the up direction that is different as well. Well, I suppose that does not contribute to answering this question... $\endgroup$ – Martin Z Oct 2 '18 at 7:01
4
$\begingroup$

Learn the distinction between scale and dimension.

The accepted answer explains re arbitrary but logical choice of default cube dimensions. All default objects are added with unit scale.

Wouldn't a default cube of 1m^3 be better since then a naive user who confuses scale with dimensions would still get the desired result when trying to input a cube of length 0.1 and input that number into the scale?

I say no. As soon as a primitive object is not unit in all dimensions it will no longer be the case that scale matches dimension. Better to learn the distinction between them.

An object is "full size" at unit scale (default). This is a fundamental of 3D maths. An object is transformed in 3D space using a matrix where unit scale, not dimension, is used along with zero location and rotation as default. An objects dimensions are determined by its data, (a mesh for a mesh object). and can be any size. The dimension of the local data in the mesh is always the same as those of the (unmodified) object at unit scale.

Setting the dimensions alters the scale. Setting the scale alters the dimensions. eg the x dimension of default cube is 2 and we want it to be 1. Setting the dimension.x to 1 then scale.x is adjusted accordingly to 0.5. Or dually change scale to 0.5 and dimension is adjusted to 1.

If we now apply that scale (make it unit) the dimensions stay the same. We have changed what we consider to be "full size".

$\endgroup$
4
$\begingroup$

Wouldn't a default cube of 1m3 be better since then a naive user who confuses scale with dimensions would still get the desired result when trying to input a cube of length 0.1 and input that number into the scale?

If it was better, it wouldn't be for the reason you suggest. Someone's confusion is not a reason to change this so he/she can keep being confused. The fix would be in the UI, but I don't think it is not good enough as it is.

That being said most other 3D apps use a single unit sized cube - for example Houdini and Maya:

enter image description here

In Maya you get a sphere with radius of 1, in Houdini you get a sphere with diameter of 1. So in the end every app does something different.

I am sure there can be found arguments why this or that is better, it would be opinions mostly and what the user is used to. There is no single natural intuitive approach.

The Blender cube has 2m sides, because a developer coding Blender (Ton probably at that time) some day woke up and decided on his personal preference that it will be 2m wide - the decision process was probably that a sphere will have a radius of 1 and the cube will correspond with sphere's diameter. And it stayed since because it doesn't really matter.

$\endgroup$
2
$\begingroup$

The scale input/value is "dimensionless" so changing it to 0.1 means 0.1 times whatever the original dimension/size was.

If you need specific dimensions note that you can type in values into the Dimensions x, y, z boxes on the right, and that will change the Scale values accordingly.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.