ZBrushCentral

subdivision volume loss - syncing with animation pipeline

Hey There!

I know that many people have suggested that the best ways to deal with how zbrush shrinks the lowest subdivision level after subdividing the model is to store a morph target before subdivision, or to import the base mesh back into zbrush before baking. My question is a little more nuanced and tricky.

Problem 1: Volume loss in animation pipeline.
If I want the sculpted nuanced changes to be propagated down to the lowest level and include those in Maya (or any animation package) after sculpting, the volume loss makes this problematic. Using a morph target simply reverts back to what I originally had in Maya, not letting me get those added details with the volume I also originally had. The cage feature sometimes warps the mesh far too much, making it difficult for rigging to work with.

Problem 2: Using cage, while moving back and forth between maya. -

The cage feature seems to be a pretty good solution, especially if your base is fairly dense, however it still will not be identical with the original base. If I do choose to output the cage result back into maya, as it has the sculpted details, and the volume I want, bringing this back into zbrush again, to propagate a new change from maya into zbrush, will change the volume again, this time the hirez will become warped and become too large. You can see that if you keep using cage going back and forth, eventually the mesh will have gotten far too large, and become distorted.

Problem 3:Accepting volume loss, with later changes to base in an external program. -

Let’s say I am ok with the volume loss as I’m getting some of the secondary forms created from sculpting in zbrush, and implement that into Maya. If I make a change in maya to this mesh, and want to transfer this edit back into zbrush, my volume will change again on the highest, and if I go back down to level 1 again in zbrush to export that back to maya, the volume on the lowest will change one more time in Maya. This is very problematic in a production setting, where rigging and animation need things to be relatively stable and locked down, but may want the sculpting detail to come through as a minor update.

I hate to bring up the M word…but I do know that mudbox is able to address these issues. It would appear that mudbox maintains an offset between each level, respecting the volume differences between each level. So if you make an edit to level 3, level 1 will pick up that edit, but also keep its volume.

I’ve attached 2 images to illustration the issues. I hope it’s not too confusing!

If anyone has any ideas,workarounds, or maybe even workflows that might not fit exactly with what I propose, but would be workable solutions to these issues I would be so grateful! This is probably the only thing about zbrush that has mystified me.

Thanks!Zbrush_subdivision_modification_comparison.jpgZbrush_subdivision_comparison.jpg

Attachments

Zbrush_subdivision_modification_comparison.jpg

Zbrush_subdivision_comparison.jpg

If the model is very low res I don’t think the subdivision style of Zbrush, that is not standard, has any ability to keep the original shape.
If you want simply to project the normal map and you created the low res in another program this should not be a problem as projecting normal maps you could use a external program with the original low res and the high res from Zbrush or using the trick of importing the low res in the lower subdivision and generate normals. That low res import is only a temporal solution for baking as his shape can have a bad impact in the zbrush model or be lost as soon we change of subdivision level.

The problem arises if instead simply you have added superficial details you have done more general proportions changes and the original low model from external packages is not valid for projection. But that is not the case of your examples.

This problem is only really relevant with very low res models. With relatively medium res topologies the volume changes are less relevant, but the tricks above yet apply.

Yeah, unfortunately I was wanting to be able to use zbrush for displacement maps, while also needing to do blendshapes outside of zbrush (or in zbrush) and have the changes go back and forth, without volume changes, while also being able to update the hirez from the lorez changes as well. I agree, using a much higher resolution mesh makes these problems less apparent, however the fact that there are changes occuring at all is problematic in an animation/ visual effects pipeline. If animation and rigging keep seeing slight shifts in the volume and shape of a mesh, it destroys their work.

I think the thing is with zbrush, you really need to make sure you don’t have to change your base mesh shape too much after going into zbrush.

You might like to try this macro. To install, simply save the file to your ZBrush /ZStartup/Macros/Misc folder and press Macro>Reload All Macros. You will then have a button called ‘SmartDiv’ in the Macro>Misc sub-palette.

Press the button to subdivide the model and also preserve proportions.

SmartDiv.txt (1.09 KB)SmartDiv.txt (1.09 KB)

Let us know if that works for you. I have used that script in the past but to avoid the object losing too much shape when increasing the subdivisions from very low, not for keeping intact the original one.