Scales and Units

Getting back into Blender again after a long break due to schedule. I am still plagued by an issue that I found early on. I come from a CAD background where everything is usually defined, this is ok and I relish the change but I always seem to struggle with blenders units, I have set it to metric, and use mm, but this seems to completely throw off the grid and the rest of my scale.

For example I made a wall and and include some things and set a camera, the camera was tiny, the clipping was insane and the light seems to require 50000000 strength… I have attached my startup file for critique and hoping someone can improve my workflow.

Thanks for your help :slight_smile:

Try changing these to 1 and see if that is what you want.

Blender doesn’t actually convert or translate between unit scales. I work in Imperial and have the same problem. Whether you set units to inches, feet, meters, millimeters or Blender units, they’re all identical internally, so if you create something that’s 10mm long, then switch to inches, it’ll be 10 inches long or 10 Blender units long… which isn’t very intuitive, but that’s what happens. Units are there mostly to give you a way of thinking in your ‘native’ measurement system, not as a way to implement real-world measurements.

You can play around with the Unit Scale (I have mine set to .1). You can also scale up the camera so it’s easier to see in the viewport and it doesn’t seem to affect renders. You’ll also have to track down the clipping distance and reset it. Select the camera, go to Object Properties (the one you want has an icon of a camera) and find the Lens section. Reset Clipping > End to whatever you want (even 100,000 kilometers).

Thanks for taking a look at my file. If I set that to 1, without anything that I do, it turns my 2mm x 2mm startup square into 2m x 2m.

I ahve changed my display unit scale to 1 actually, this makes each square 1m but thats ok.

Thanks for looking at my file, yer I get that. Its why I haven’t been too fussed on ensuring my models so far are perfect scale. It just watching some tutorials recently they say to model to scale to ensure textures are going to be ok. How can I model to scale when… really the units are flakey?

What is your workflow like?

This from
zeffii on StackExchange

The absolute first step is to set the real-world units in the scene tab. This will make Blender’s arbitrary units relate to something you can actually measure, like feet or meters.
Lines/Edges that Follow an Axis

You can click on a vertex, press E to extrude, press X, Y, or Z to choose the direction, then type in 1 and hit Enter. This will produce a line of length 1 (scene units) in that direction.
Lines/Edges at Arbitrary Angles

If your line needs to be at an angle, and you know how long it needs to be, then you could:

  • Create an edge with that length. Position the 3D cursor on one of the vertices of the edge.
  • Set the pivot centre to be on the 3D cursor. (important)
  • Rotate the edge: (select the edge, hit R, hit (X,Y, or Z for axis) and type in the angle to rotate on that axis) , then Enter to finalize
  • Rinse and repeat until all axis of that edge are dealt with.

Extruding Edges/Faces

Edges and Faces can also be extruded and knowing how to do it can save you a lot of time:

  • select an edge or face, hit E and choose an axis using X,Y, or Z and type in the distance, then Enter.
  • Faces will start to extrude along their normal if no X,Y, or Z direction is given.

Directly entering coordinate values (global / local)

Get familiar with entering exact coordinates into this box. (found on the right hand panel, the N-panel). In Global mode when you change the position of a selected vertex using those fields then the coordinate will be relative to the world origin (0,0,0). When in Local mode the coordinate will be relative to the origin of the Object.

If I’m planning to do handmade textures for an object, once everything is modeled:

  • I make sure rotation and scale have been applied, then
  • UV unwrap,
  • fiddle with the UVs until they’re laid out in a sensible way. This is different for every model. Mainly, I’m making sure there are no stretched parts, all the face sizes/shapes in the UV map are more or less in proportion to the others, and—if it’s important for that particular model—no islands overlap.
  • Then, depending on how much detail I’ll need (and whether or not it’s a seamless, repeating texture) I’ll export it at a size that makes sense. For seamless textures, I rarely export larger than 1024x1024, but if I need some serious detail, I may go as high as 8192x8192.
  • In Photoshop, I bring in the UV map and convert it to a layer.
  • If it’s a complex UV map, I use Photoshop’s text tool to make labels for the islands so it’s easier to keep track of them,
  • once the labels are all done and placed where I want them, I rasterize them all and merge them into a second layer (the UVs being the first; I do this so I can have either the UV layer or Labels layer non-visible),
  • I then add layers for Color, Normal, Specularity/Roughness, Bump (or maybe Height instead) and Reflectivity (and sometimes AO)
  • Once those layers are all edited, I use a script called Export Layers to Files (Fast) to dump them all into the textures folder,
  • Back in Blender, I hook them all up with a PBR shader (Wolf does a nice one as an addon; no Appending necessary).

I do my best not to start work on the textures before the modeling is absolutely, positively, completely, 100% done-done-done because all that texturing can be a lot of work, not something I wanna do more than twice… okay, thrice. :slight_smile:

I don’t think there is anything mysterious about Blenders units. I work with CAD drawings all the time and have no problems working in Blender.

Blender is a bit different from your regular CAD application. In Archicad and Autocad millimeters are used for everything. With Blender the idea is to think about what size you are working with. If your scene is the size of a house, you are better off using meters, if your scene is the size of a planet, then kilometers are better suited and if you need to work with a scene that is the size of a desk, then millimeters are more appropriate. Blender is not as precise as CAD applications(nothing wrong with that if you ask me), so it makes sense to set the scale correctly. You will not be able too zoom in infinitely - if you work with millimeters and need to see parts that are smaller than 0.0001 of a millimeter, you will not be able to do that with your units set to meters. But then do you ever need to? If you work with architecture or product design, 1 meter scale is most often appropriate.

It’s a bit of a process to get used to converting the units in your mind even while it is easy, you still need to get used to that. I did it fairly quickly and now enter 0.002 automatically without too much of thinking when I think of 2 millimeters. Well… I suppose it is a bit of an annoyance, but it’s not as bad as it might seem at first. If you think about it 1m is SI unit, it is used in physics for example. Architecture is not the only area using units, everything does not have to follow only the standards common in architecture. If you ask me, I am fine with that.

I want to weigh in on this subject because the unit system (which was updated not that long ago) is to me un-intuitive and inconsistent with other CAD and worst of all, messes with the accuracy. It also just makes no sense the way it operates now.

I know this is not an issue for landscapers and sculptors, and probably architects, they probably don’t even really think much in units (maybe meters or kilometers, which is easy to convert in your head).
But for the rest of us who do all of the oddball stuff, we may heavily depend on units. I can’t convert 3.85 inches into mm in my head so I need Blender to manage those issues for me.

Here is the biggest (real, not opinion) issue: If I make an extreme unit, say a ‘micron’, or a millionth of a meter, all the math in Blender works at that level, with all of the limited resolution and accuracy issues. You might say the stage stays the same size but your actor is now microscopic. None of the stuff on a regular stage (cameras, lights, microphones) will work on an ant.
Have you tried to do a ‘keypad .’ zoom on a part that small? It doesn’t work. And the viewport camera range gets unmanageable.
Also try to define a ‘light-year’ unit, say making a realistic model of a galaxy. It’s impossible. You just have to model in ‘Blender’ units and mentally label them ‘Light-year’ units.

So, just like Turntable vs Trackball arguments, I see two fundamental opinions about what units are good for:

A) Changing the scale…all calculations are performed as blender units but REPORTED as a different unit. So when I change units from inches to mm, a one inch tall object will then be described as 1mm tall. This has no calculation issues at all and can use literally any scale of units desired.

B) Converting the units…the one inch tall object should be 25.4mm if I change from inches to mm. This also has no calculation issues, unless you like to design planets in mm. :slight_smile: I do this all the time depending on where my numbers are coming from (switching units, not designing planets in mm).

The problem is that Blender is mixing the two! And that causes the problems mentioned above.
(not to mention that the grid has its own scale knob independent of the unit system)

We need a global scale knob (for case A) and a working units knob (for case B).

And yes, I frequently model stuff that needs real units to manage a large range of scales (sandbox environments). YMMV.

What are you talking about? The grid depends on the units. It’s a line every one full unit and then you can scale it from that so if you set the scale of the grid to 0.5 it’s every 50cm if you are working in meters for example. And you have the ‘global scale knob’ for the units as well.

The conversion of the scene scale functionality is missing that’s true - one would need to manually scale everything if conversion from meters to millimeters is needed for example. It could be better probably, but it would be a destructive operation in some cases because of precision issues so it should be avoided anyway. Scaling the scene manually avoids data loss because it affects the scale of the objects and not the data. Everything still seems logical here to me.

I think it would be really nice to be able to convert units during numerical input in modal operators. That’s something I miss, because I too cannot convert 3.85in to millimeters in my head. But using f6 panel after the operation can be a workaround.

I see your point about having to recalculate everything for a different scale. Quite the overhead and I can understand the decision to leave the underlying values untouched.
In MY head, the grid is a ‘stage’ that bounds the general scale of my project and should never change size wrt the objects on it, but I suppose other may just see the grid as a…well…overlay for snapping stuff. But if I change units in a large way the grid can shrink until it disappears and now I’m guessing about how much to move the ‘grid scale’ slider. I tried to make a driver between the grid scale and the units scale but neither of those will allow keying.

I’ve been jiggling all these things though for a while and they just seem ad-hoc to me, no cohesive paradigm. If I change units now the scale below changes as well, which is how I thought the different scales were DEFINED. If I change the units scale at will then aren’t I breaking the way it is designed to operate?
(thanks for the reminder about F6, I’ve been trying to get more of those modal windows into my workflow, would actually like to see more of them implemented. I prefer the non-overlapping GUI but for modal stuff a popup window feels more efficient and doesn’t waste window space.

(one other thing: is the grid subdivision field broken? Doesn’t seem to do anything anymore)

Grid Subdivisions only work in Orthographic views 2D grid with Unit System Length set to None.
Otherwise is greyed out* (deactivated, *check theme setting if otherwise).

It’s just a helping tool… (for me) to recognize center & units when there’s a need to get ‘physically correct’. Personally, I don’t use it much at all & would prefer CAD tools instead (at least basic). Also, static under/overlay distracts me while in phase of creativity so…

To turn it off, Scale can be set to 0.001 :smiley:

If & when i need one, arbitrary grid can be made from any geo/mesh with more-better control (knowing Transform Orientations, etc.) & kept along scene/project or in the studio library for further use.
With free & open resources at hand - Yes, Blender’s grid is more then enough :slight_smile:

bye & enjoy

Hey, good idea about a home-made grid! I’m used to snapping anyway but only to real objects, plus you can’t snap to lines or faces in the view-port grid. I can make a spider-web grid too (for example)…neat!