ZBrushCentral

Zbrush overwrites subtools

I don’t understand this function!

For example, when I load an object into my scene, Zbrush overwrites the selected subtool instead of creating a new subtool with my exported object. Why does Zbrush do this?
How can I work around this so I don’t lose important subtools?

Hi @Fae,
That behavior is normal, because you can reload a modified mesh, and it gonna reproject all details and apply subdivision levels to that subtool.

So if you want to import another model as subtool, and do not get that behavior, you must to import the mesh when polymesh 3d tool is selected. Then you just copy and paste the subtool to your working tool. and that way you will avoid the mesh substitution and the reproject process.

Additionally, you can also import the mesh like you do it now, but you gonna have to :

  1. duplicate the current subtool
  2. in tool : import, enable Add button.
  3. press tool:import, it will just replace the subtool you had duplicated and import directly into the current subtool, instead of having to switch to the polymesh3d.

image

Hope it helps!
Nicolas

1 Like

Hmmm Thanks for the answer!

Sure, I can duplicate the subtool, come to think of it.
But this behaviour does not seem logical. I think Zbrush could improve this!

The add function is quite nice. Then I would always have to separate the 2 models in the subtool and make two individual subtools.

So it remains rather awkward to use.
And importing a model directly as a new subtool is not possible?

Unfortunately, I am afraid it will not be possible with ZBrush Core as it has no support for scripting.

1 Like

…and the manufacturers don’t care?

Too bad

Hello @Fae,

It is. You could simply duplicate an existing subtool or append a new one to work as an import target. There a number of reasons you might not want to do that, though.



Click Here to read lengthy explanation :)

For a number of reasons, the proper procedure is generally to import tools separately, then append one to the other. In the full version of ZBrush there are automated scripting options that can allow you to append multiple tools at once to a mesh that has already been imported.

A common procedure is to use the polymesh3d star as an import target. This is because it has has a Tool> Export> scale factor of zero, which is important for scale considerations.

ZBrush requires that meshes be both centered, and scaled to a certain size for the best results in ZBrush. Meshes that are abnormally small or large, or offset from center may be difficult or impossible to work with in the program. For this reason, when imported by default with no active tool selected, or with a tool with zero values in the Tool> Export menu active, ZBrush will auto-scale to a worldspace bounding box size of approximately 2, and center the tool. It will record the values necessary to restore the mesh to its original size and offset in that menu, and restore the mesh to those values upon export. This is designed to happen automatically, and require no input from the user.

However, if you import or append a mesh to an active tool with non-zero values in that menu, the tool will instead inherit the values in that menu from the active tool, and be scaled accordingly. A misunderstanding of the way this works is the most common cause for scale mismatch issues in ZBrush.

This is a necessary feature designed so that meshes created to be used together, but imported separately, can still match up. For instance, if you had a character head mesh, and a hat to fit on that head, but are not exporting them as part of the same file, the proper procedure would be to select the polymesh3d star for each tool in turn, import them separately, and then append the hat to the head mesh so the hat will inherit the head’s scaling. This is because the amount of scaling necessary to reduce the hat mesh to a size of approximately 2, and the amount required to do the same thing for the head will be different values. Since we know the hat has a certain size relationship to the head, and the head had to be scaled by , say 35%, to reach optimal ZBrush size, then in this case we want the hat to be scaled by 35% as well so it will again fit on the head.

If you import a mesh that doesn’t have a direct size relationship to a specific mesh while that tool is active, and you have non-zero values in the export menu, it will inherit those values from that point on, may import at an unexpected size, and will also be exported at a different size than the original file.



Long story short: Unless you are specifically trying to replace the geometry of a subtool for the purpose of importing UVs or restoring the topology of a mesh prior to texture generation–neither of which really apply to ZBrushCore–then the best way to conduct your imports is to select the default polymesh3d star as an import target for every mesh you want to import, then append one as a subtool to a main tool. This will avoid another common forum post in the future where you are experiencing size mismatch issues between imports and exports.

1 Like

Thank you for the detailed explanation. :wink:
Ok so now I always use the star object to import.
(For someone who is new to this programme, this is illogical at first, but if necessary. At this point it could be made better for the user).

So since you already talked so nicely about the different scaling values…
My imported object is much smaller than my other subtools, I would like to scale my objects to the loaded object size ratio. I’m sure this can be done somehow via the “scale master” but how exactly?