How to translate bump height into real world measurement? So 1 Blender Unit is usually taken for 1 meter. Given that scale, how can we make a bump displacement texture that has 1mm (0.001bu) of height in Cycles?

Let's assume the texture has both pure white and pure black regions, since shades of grey alone don't give us practically measurable information.

I couldn't wrap my head around how to calculate this, especially when taking scale of the scene into consideration. Like, if you are looking at a brick wall from far away and you know the bricks jut out about 1cm (0.01bu) from the mortar, how would you go about preparing a texture with the appropriate bump scale?
I'd approach it this way:
First, generate a clear black to white gradient image and apply it to a plane as a displacement map.



Then I'd duplicate the plane and apply the displacement modifier, and then check the Z height on the verts that are placed at the black and white parts of the gradeint:



Doing that shows that the black value equals to -0.5 blender units, while the white pixels displace your verts +0.5 blender units.

And then if you want a total white to give you +0.001 bu which is 1mm, all you need to do is to change the dipslacement modifier's stength to 0.002.

Here I used a stength of 0.2 and the resulting height is indeed 0.1 BU:


If your displaced object has a non 1.0 scale value, you'll need to multiply the displacement value by the scale to calculate it. If the scale is non-uniform (let's say 2.0, 1.0, 3.0 for X, Y and Z scale), you're in trouble because it will be different in each axis...