1
$\begingroup$

Before I start, I'd like to note that I'm displaying this in Blender 3.0.0, however the same thing seems to happen in more recent versions.

When creating a native mesh such as a plane or a circle, going into orthographic mode at the default focal-length of 50mm, zooming ALL the way in, and viewing it from the Front and Right views (default 1 and 3 numpad keys) shows it as a flat surface, like so, which is normal. These are screenshots of an otherwise-untouched plane of size 1 at the default scene origin, zoomed in as far as the camera goes, in orthographic mode.

Zoomed-in front orthographic view of native plane: Zoomed-in front orthographic view of native plane

Zoomed-in right orthographic view of native plane: Zoomed-in right orthographic view of native plane

However, were I to scale this plane to something like 400 in all dimensions, the orthographic views of the plane at this extremely high zoom level begin to look something like this:

Zoomed-in front orthographic view of size-400 plane: Zoomed-in front orthographic view of size-400 plane

Zoomed-in right orthographic view of size-400 plane: Zoomed-in right orthographic view of size-400 plane

This is causing me some slight worry that my native meshes might somehow be automatically skewed on the X plane by some millionth of a degree. However, when I use S->Z->0 to attempt to completely "flatten" the plane on the Z axis, the view above does not change, leading me to wonder if perhaps the default world axes are themselves somehow skewed.

I understand that the most likely cause for this is either floating-point error or simple orthographic camera distortion. However, it makes extremely large objects difficult to work with at extremely high levels of zoom.

One other possible cause COULD be viewport screen distortion, but I haven't figured out how to access that in order to change it.

Sorry if this is a duplicate! I haven't found anything about this so far.

EDIT: Interestingly enough, going to the front-orthographic view of the plane at the high values mentioned earlier, then rotating the plane around the z-axis 90 degrees, changes nothing. The same goes for the orthographic right view. This effectively means that the mesh itself isn't skewed at all, due to the fact that if it were, a 90 degree rotation on the Z axis would make the front view look like the right view and vice-versa. Instead, this seems to be purely a rendering bug with the orthogonal front and back views specifically.

(also, no, I'm not going to simply accept this as normal blender behavior, but thanks for the explanation regardless)

$\endgroup$
7
  • $\begingroup$ "Orthographic camera distortion"? As per definition there shouldn't be any distortion. This is not a real-life camera where lens imperfections can happen, same goes for "viewport screen distortion". Someone else discovered this here as well, but I haven't got the link atm. I guess it has something to do with floating point accuracy, although Blender is accurate enough to show the difference, not only visually but also numerically: in your example (plane scaled to 400 i.e. 800×800 m) it shows a difference of 2 micrometers on X and Y, both going from -400000001 to 400000001 µm. $\endgroup$ Commented Sep 7, 2023 at 6:43
  • $\begingroup$ The visual difference in height is much more than just 1 µm. If I move the high vertex down the Z axis to match the height of the low vertex, it shows a Z value of -107.31 µm, while the low vertex itself shows it's on 0 µm. Or if I subdivide the edge, the new centered vertex can be moved about 53.66 µm up or down to match the height of the other vertices and shows this on Z if placed there. Setting Z back to 0 puts it on the world axis, although the original vertices show 0, too. So this is a floating point problem or a bug, in both cases a question for Blender developers and off-topic here. $\endgroup$ Commented Sep 7, 2023 at 6:55
  • $\begingroup$ Hello, Glacenoir, welcome ... I think this could well be a duplicate of blender.stackexchange.com/q/298626/35559, and the brutal reaction would be to close this post as such. This looks like floating-point error in the view transform, in which case, we can't help. Maybe you could rephrase this, accepting the limitation, and asking for suggestions to get round it? Holding off, for a while. $\endgroup$
    – Robin Betts
    Commented Sep 7, 2023 at 8:11
  • $\begingroup$ @RobinBetts Oh, that's the one I was looking for. I usually do not model anything in the micrometer range so this would not really bother, but interested in the reason for this I am... my guess is the floating point theory as well, what makes me doubt is just that newly created vertices seem to be more accurate (in the nanometer range) for whatever reason. $\endgroup$ Commented Sep 7, 2023 at 8:40
  • $\begingroup$ And if someone wants to file a bug report: it seems like the error is bound to scaling. If I scale the plane by a factor of 400 (no matter if in Object Mode or Edit Mode), the problem occurs. If I take for example the two vertices on X = -1 and move them -399 m with G, X then everything is fine. $\endgroup$ Commented Sep 7, 2023 at 8:40

0

You must log in to answer this question.

Browse other questions tagged .