Real-world scale matters (and so do Blender's defaults)

This post supplements:

If you are not using real-world scale in Blender, you’re just making things up (and none of your values will likely have any realistic relation to each other or the objects they pertain to).

  • Real-world scale is a standard that keeps assets, values, and pipelines in sync

When everyone works at their own fantasy scale, no one can expect values from one file to work the same way in one file or project as they do in another. Even if you have no intention of ever sharing assets, following a standard means that your values will be much more in line with the values of those who work at the same standard than they will to those who just “fudge the numbers” without any regard to physical accuracy.

People with the same scale of objects, assets, or materials can expect to get similar results with similar values. Objects and data can be easily copied from one file or project to another file or project and will still work as expected.

This is not only a huge convenience, it is absolutely essential in professional pipelines that everyone works using the same standard.

  • Not following a standard leads to incompatibility

For example, geometry node tools or assets that are designed around the scale of Blender’s default objects and not the objects they are intended to output/assist will be much harder or impossible to tweak to get to work at real-world scale (especially if they have many customizable values).

Currently, there are Blender products (assets, addons, node setups…) available for sale that don’t adhere to any standard and are therefore incompatible with real-world scale – and by extension professional pipelines – because they were built or designed without scale in mind.

For example, there are commercial procedural glassware and pottery generators (and many other types of generators) that were built around Blender’s enormous default objects and are therefore tuned to make things that are, in some cases, hundreds of times larger than the objects they are intended to replicate or be used with. Does it really matter? In most cases, yes. Because attempting to tweak the input values of these procedural tools to match real-world scale is impossible or very impractical. Rather than save time, they cost it.

Sticking to real-world scale means that everyone who uses real-world scale can expect to get similar results using similar values. It reduces incompatibilities and it means that files and values in those files become interchangeable between pipelines.

  • Real-world scale is also especially important when it comes to physics.

While scale issues are not always obvious with rigid body objects, if you have fluid (or smoke) interacting with those rigid body objects, those objects need to be at real-world scale to get physically accurate results.

Fluid, fire, and smoke do not behave the same way at a small scale as they do at a large scale. Consider that soup in a bowl does not act the same as water in a pool or waves in an ocean. Consider that a candle flame does not behave the same way as a roaring fire.

Additionally, force, speed, and distance are all physical properties that can look wrong when applied to objects that are not the proper scale.

For example, large objects with a lot of mass do not move (or explode) or interact with other objects in the same way as small objects with little mass. You wouldn’t expect a large boulder to tumble down a hill the same way as a small rock does.

Scaling objects up to “make them work with Blender’s default physics settings” instead of adjusting values to the proper settings doesn’t just make the scale wrong, it makes mass, speed, and distance wrong. It makes the lighting wrong. And it can make material settings wrong.

Sometimes just adjusting numbers with no regard to accuracy to make things seem correct can work, and it’s fine if you’re working in a vacuum, but the more you mess with properties to make them appear correct at the wrong scale, the further you move away from a standard and being able to get consistent results.

When everything is built following a standard, then values naturally fall into place. When you don’t follow a standard, then tweaking values for something in one part of a scene can have adverse effects on something else in the scene. And soon you are having to tweak a bunch of values in different places because suddenly things don’t look right because all the numbers being used have no relation to reality.

  • It matters with materials, too

Textures that are intended for a certain sized object that are built without regard to real-world scale (such as designed on default objects) will have “fantasy” values that are inconsistent with those built with real-world scale in mind.

These are just a few reasons to consider why working at real-world scale in Blender makes sense.

These are only some places where it’s important to pay attention to scale:

  • Shaders

Did you know that the distance input of the BUMP NODE is measured in meters? The default value is 1 meter… which signifies the distance between the bump and the surface of the object.

Many subsurface inputs are also measured in meters.

  • Lighting

The size of lights has an impact on their shadows. The values used to adjust the intensity have a direct impact on the distance the light covers.

  • Physics

For rigid bodies, the default Collision Margin is 4cm. This means rigid bodies cannot get closer than 4cm (unless you change the default).

The default Thickness Outer for rigid bodies is 2cm. This means the rigid body will not allow cloth to get closer than 2cm.

For cloth, the default Object Collisions distance is 1.5cm. This means cloth is restricted from colliding with rigid bodies at 1.5cm.

The self-collisions distance default for cloth is 1.5cm.

  • Blender’s default objects

Blender’s default objects are big. Like really, really big. Without a scale object in your scene for reference, it is impossible to tell how big they are just by looking.

The default cube is taller than a 6-foot (183cm) human. So is Suzanne. So is the sphere. So is the bezier curve. Everything is huge compared to the sorts of objects humans typically interact with.

  • Can’t I just change these default values in my startup file?

While you can customize many things in your startup file – and everyone should – based on my tests with physics, “collision margin” settings are not persistent. Neither is “object collisions distance” or “self collisions” with cloth.

Additionally, node and modifier data isn’t persistent either. (You can’t change the default value of the bump node, for example). These settings must be changed manually every time (just like the huge 2m default objects blender creates).

13 Likes