Hi, sharing the notes I’m taking while trying to figure out ZBrush scale and dimensions.
Maybe it helps someone else, please let me know if you find something’s wrong
ZBRUSH SCALE (WORK IN PROGRESS)
Units
-
Internal units (Tool > Geometry > Size) is the active subtool’s bounding box in internal units
-
ODD SIZE RESTRICTION! The subtool’s longest extent on any axis should be exactly 2 in internal units. It can go below and also far above but brushes, deformation sliders and other functions in ZBrush work with internal units and are optimized for a value of 2
- The subtool can be scaled using the sliders if needed
- Internal units don’t have a real world representation like mm or cm
-
-
Export scale (in Tool > Export > Scale) is a factor for file export and import. It is supposed to compensate for the the internal unit size restriction and it is computed automatically by ZBrush when a subtool is first imported (so file units = internal units * export scale).
- when importing using Tool > Import there are 2 possibilities:
- If export scale is set to 0 (first import), the imported coordinates will be rescaled so the longest axis extent is 2 and then used as internal units. Export scale will be computed automatically to compensate for this, so if exported again, the values in the file would be the same as before.
- If export scale is already set to > 0 for the tool (subsequent imports), the imported file unit coordinates will be divided by this value (so when output, the object in the file will be identical in dimensions)
-
Internal units can go above 100 when an export scale is set
- when exporting using Tool > Export , coordinates in internal units are multiplied by export scale to file units
- Generally, file units don’t represent a real world unit either, but for smaller subtools they’re almost always used as mm
-
export scale can be set manually to define your own scale
-
export scale can be reset (to 0) manually to trigger the automatic computation again
-
Automatic computations works only for .obj import/export. STL when export scale is 0 scales the object to 0, FBX always automatically scales the object when importing.
- when importing using Tool > Import there are 2 possibilities:
Export scale and internal units are enough to achieve correct scale in ZBrush, tools like ScaleMaster and the tranpose line settings are just additional helpers
Grid
- The grid (Draw > Floor Grid) is in internal units and is not affected by export scale
- actual size of grid is two times the entered values
- the ZBrush initial grid settings are such that 1 grid unit = 3/7 internal unit
- The subtool size in the viewport also depends on internal units only. Changing the export scale will have not have any effect on the subtool size in the viewport.
Tool > Deformation
- Inflate at a value of 100 = 1/8 of an internal unit
- Scale at a value of 100 = same effect as modifying the internal size, but using percent (entering 100 doubles the size)
-
Unify will rescale the subtool’s internal units so the longest axis extent is 2
- This will not adjust the export scale, so the exported subtool will have a different size. Use Scale Master>Unify to adjust both the internal and the export scale.
Brushes
- When Dynamic is on, a brush draw size of 250 = 1 internal unit diameter
- When Dynamic is off, the brush draw size is in screen pixels
ScaleMaster plugin
When using ScaleMaster, file units are assumed to be mm.
- Set Scene Size sets the 3 unit scale values for the transpose line (see below) / for ScaleMaster itself / for the ScaleMaster export to 1(mm) 0,1(cm) 0,03937(inch) or 0,00328(foot) and modifies the export scale to match the suggested values. The transpose line unit string is set to the selected base unit. The 3 unit scales can be changed independently, but usually shouldn’t.
-
Unify rescales the subtool’s internal units so the longest axis extent is 2 AND it modifies the export scale to compensate the internal units size change. Exported coordinates will stay the same. The subtool will shrink/grow in the viewport because the internal units have changed.
This is a useful function even without using the ScaleMaster unit system.
- Resize Subtool will modify the internal unit size so the size in the selected base unit matches the slider values.
- Export to unit scale will export a file using the ScaleMaster export unit scale, as chosen in the button row above the export button (1 for mm, 0.1 fo cm, …). Exported coordinates will be internal units * export scale * unit scale (= file units * unit scale).
Transpose Line
When using Transpose Line, file units are assumed to be mm.
- Unit scale (Preferences>Transpose>Unit Scale) is an additional setting to convert from file units (usually mm) to a user defined unit.
- The current transpose line distance is repeated in the calibration distance in Preferences > Transpose. This calibration distance can be edited and will result in a new unit scale value, which means a new type of unit has been defined by the user. All future transpose line measurements are made using that new unit. The unit can be given a name like “miles”, “ear heights”, “eyeball diameters”.
- The measured transpose line distance is file units * unit scale (or internal units * export scale * unit scale)
- Unit scale is not directly related to the 2 unit scale button rows in ScaleMaster
- Unit scale is used just for the transpose line, it doesn’t affect any other item in ZBrush or the exported coordinates
- This can be used for scaling an object if a certain distance between two of its points is known: Set export scale to 1, make the measurement, type in the measured distance in the calibration distance, then use units scale as the new export scale. When you export now, the file has the correct scale in mm.
3D Print Hub plugin
- The export functions here disregard export scale. The plugin uses the user entered bounding box dimensions for computing its own export scale which is not exposed in the UI.
- This can be faster than the transpose line method if the bounding dimensions of the objects are known instead of the distance between two points on the object.