ZBrushCentral

ZBrush internal units and multiple subtools problem

Hi there!
I have a problem with understanding ZBrush’s Unify button.
As i understand, ZBrush works fine when subtools size is set to 2. Which causes no confusion when you have only 1 subtool. But imagine you sculpt a character, whole body is 2 units in size, as Z likes, but as soon as i add eyes, their size will be a lot smaller, and it won’t be 2units (in my case its 0.01~ or so), then i have a confusion. ZBrush’s brushes, dynamesh and other things like sliders are intended to work in 2 unit size, but if i unify my eyes, they become bigger, by a lot, they are 2 units now, same as body, but they don’t fit in the eye sockets because they’re extremely large. It’s either i don’t quite understand how it works, or it should be like that. Because dynameshing body will work as intended, but same value for my 0,01 unit eyes won’t work.
The question: is it OK to keep my entire mesh, which consists of different sized subtools in 2 bounding box scale, and my problem with small eye units is not a problem, or i should fix something or understand? Like, if i have 2 unit mesh, my brushes have nice size etc, but if i come to detail my eyes, then i need to adjust brush size in draw settings, so i could get smaller brush size. Does adjusting brush size cause problems later in displacement map creation or something else, or doesn’t cause any problems? Like in short, how does it work in correct way? Thanks!

Hello @ReArts

The Answer: It depends.

Don’t sweat the size too much as long as it’s in the ballpark of 2. You generally only run into severe problems if your mesh is extremely large or small. But if the tool’s bounding box creeps up a bit over 2 after you have already unified everything, don’t worry about that.

The exception is with Dynamesh, the size can really affect how much resolution the mesh can receive. Generally not a problem when working on eyes, as those don’t tend to get much surface detail. But other objects can perform really poorly with Dynamesh if they are extremely small. In that case, it might be better to work on the mesh in a larger form , then scale it down to fit with the other mesh when you get what you need out of Dynamesh.

So I mostly just make sure the main body of a character is unified and in the proper dimensions at the beginning of a project, then don’t worry too much if adding clothing or other details inflates the size a bit, unless it gets drastically larger.

Thank you very much for fast answer! Ill just make sure my model’s entire bounding box is not higher than 2units. Eh, Z is so cool, but it’s things with scale, pivots and so on and so forth makes sculpting really difficult, if you don’t know all that stuff xD At least i can get an answers here, because not all the issues are exposed on internet’s forums.

The scale thing you hardly notice once you make a habit of scaling your mesh into the right ballpark at the beginning of a project. It’s most often a problem with a mesh that was created in another program being imported improperly into Zbrush. If imported correctly, Zbrush should scale and center the imported mesh automatically to work well within zbrush and then record the values needed to export the mesh at its original size when finished working.

This is necessary because the effective working space in Zbrush is finite, and the size can affect the way some tools function. This video explains some of the reasons why if you haven’t already seen it:

@Spyndel, oh, sorry i forgot to add in my previous post.

I have a question which bothers me a bit: measure by heads rule is used to determine character’s proportions, but, how really people handle character’s height? In real world people get shorter and longer cuz their limbs get shorter or longer, imagine i have 180cm tall male, and i’d like to make him 170cm. I need to shorten his legs, arms and torso. But overal shape of, i.e. fingers will be the same, only arms would be shorter. How would you know exactly how to shorten a character by a specific number? Unified scaling is not the case, because it would look weird and innacurate. Asking this cuz z has no real world units, and, i couldn’t find any info regarding this on forums here.

Thanks, actually saw that video before making a thread here. That’s why i had a question. Heh.

The units in Zbrush are generic, just like the units in the OBJ format. This video explains a little bit about how the generic units export, and why.

Measuring a character or reducing it by a set size can be achieved with Transpose Units. Simply call the units whatever you want, and you can use the transpose lines to measure out any dimensions of your figure, or reduce it to that degree.

Artistry. There is no automatic solution for this (in ZBrush). You can scale a character down globally and reduce the entire character by a percentage, but if you need to scale different parts of the body to different degrees to make it look more realistic, artistry will need to be employed. There is no “universal human form” slider.

@Spyndel well, understandable. Though, wouldn’t bother about it if i’d just wanted to sculpt, but i will need to put my character into a scene in other app, rig it and do some vfx, thats my personal goal. And main rule in vfx and rigging - you must do your characters and assets in real world scale. So, i believe in terms of zbrush, things won’t be exact as in real life. What i mean: i.e. human eye is 2.5cm size in average. If i use general rules about like head is 5-6 eyes wide etc, and then just scale your model to 170-180cm, eyes won’t be 2.5cm, they could be smaller or larger than these realworld numbers. In short, i just want to get into all that stuff, and want to know how people handle all those issues. A lot of technical stuff makes your work even harder, but yeah, having an answers make it a lot easier. Thanks for the answers and your time! You helped me a lot )

Of course if you made a base mesh before in maya or whatever app with real world scaling, things will be exact the same, but making your character in z from scratch brings these issues.

It would be helpful to separate the idea of absolute measurements from the internal ZBrush size.

While it has ramifications for Zbrush’s performance, it doesn’t have to have anything to do with the units ZBrush outputs it at. It’s simply the internal size meshes have to be to function well in ZBrush. But if you create or import your model correctly, you only have to be aware of it for those performance reasons. It need not be a significant concern. As I mentioned above, if you correctly import a mesh with real world scale into ZBrush, it will be auto-scaled and centered to this size and exported back at the original size seamlessly, without ever having to look at those units.


It gets confusing because there are a number of separate areas that deal with object scale, but that don’t necessarily interact with each other.

What you’re aiming for when creating a mesh, is to create accurate proportions. If the proportions are accurate, they remain accurate at any size you scale it to. If the eye is created proportionally accurate, then when you scale it to 2.5 cm externally and scale the rest of the body up by the exact same percentage, then the rest of the body will be accurate. Everything else to do with export units is just a matter of sliding a decimal around.


Use the transpose units to measure out accurate proportions. “Heads” are an artistic shorthand not designed to represent mathematically accurate anatomy, but to to be able to quickly render a figure with roughly correct or even idealized proportions. But the transpose units can be anything. They can be millimeters if you want.

Once you have defined your transpose units, you can define a specific length. Once you have done this all measurements you take with the transpose controls will be accurate to to that scale-completely independent of the global size. The transpose controls don’t care what the Tool > Geometry > Size menu is doing, and that menu has nothing to do with the scene scale you have set up there.

So to be clear, your Zbrush internal size can be two, but your transpose set up can recognize the body as 182 cm, and then measure everything else in relation to that body scale. You can scale the eyes to 2.5 cm, and then any time that mesh body length is 182 cm in an external application, the eyes will be 2.5cm.


And just to throw another ball up in the air, there is also Scale Master which can be set to export a mesh at a specific measure regardless of its actual size, but that is also a completely separate control that doesn’t care what the other scale tools are doing. It won’t have any effect on your transpose scale and vice versa.


So to sum up:

  1. Tool > Geometry > Size important for ZBrush performance issues, and can be used in conjunction with the export scale slider to export a mesh at specific measurement, but there are easier ways to do this in Zbrush that don’t involve messing around with sliders with performance implications.

  2. Transpose Scale functions (linked above). Use this to measure or proportion your model. Works independently of actual size.

  3. Scale master (linked above). Use to export at specific size, independent of actual internal size.

1 Like

@Spyndel
Thank you very much! You really helped me a lot, and explained quite well my problems. I will consider this thread as complete and will try my best using your info. Thanks again, have a nice day!