ZBrushCentral

Lock ZSpheres?

Hi everyone! First post on forums, I’ve tried to search for the solution to this but I can’t find it and this issue is driving me insane. I’ll be working on a ZSketch model, obviously based on top of ZSpheres, and when I use the Move/Scale/Rotate tools with the intention of only manipulating the ZSketch, I move the ZSphere base along with it!

When I’m done with a model, I typically find that my proportions are all off because my ZSpheres changed size/position over the course of the ZSketch. My only workaround at this moment is to just work around it and unbind the ZSpheres from the ZSketch, move/scale/rotate the ZSpheres back into position, and then reset the bind so that the ZSketch rests on the original spheres.

There must be a way to lock ZSpheres so that I can manipulate ZSketches separately, does anyone know how to do that? Thank you for your reply in advance.

You can mask the ZSpheres (Ctrl+click background to mask all) but this will also mask any ZSketch already applied so you need to do it before you start.

[It may be possible to script a solution that only masks the zspheres. I’ll take a look.]

I’d appreciate it if you could look that up, like I said, I’m new to the forums and Zbrush, scripting in Zbrush is beyond me. At this moment, your solution to mask the armature works for the initial blocking phases as a work-once procedure. If I ever needed to pose the model or add more ZSpheres though, that’d be a problem.

I now have Zbrush 4 so I can use the ZSketch Push-Pull/Bulge/FlushDynamic brushes to edit just the ZSketches but so far they’ve been much less reliable than a simple Move/Scale/Rotate.

Unfortunately the scripting method doesn’t work, however I have found another way that just masks the ZSpheres:

  1. When you are ready to mask, draw a single ZSketch sphere. It doesn’t matter where as it will be deleted. Don’t make it too small. (It’s not essential it’s a single sphere but that is all that’s needed.)
  2. Shift+Ctrl+click on the sphere. This should hide all the other ZSketch, leaving the ZSpheres visible (and the sphere you just added.)
  3. Ctrl+click the background to mask all.
  4. Shift+Ctrl+click the background to show the ZSketch.
  5. Ctrl+click the background to invert the mask.
  6. Alt+click the ZSketch sphere you added at (1) to delete it.
  7. Ctrl+click the background to invert the mask again.

The ZSpheres should now be masked and the ZSketch unmasked.

EDIT: with the above method it is not essential to add a new sphere. If there is part of the ZSketch that you are happy to have masked then Shift+Ctrl+click on that and skip inverting the mask. The method works because each ZSketch stroke is given a separate polygroup. You can view the polygroups by pressing Shift+F (though this may make the masking harder to see).

HTH,

Whew~! It works. Not exactly the most intuitive process but certainly gets the job done. Thankfully I won’t need to do this too often, so long as I am happy with the ZSphere pose.

Thank you for your help on this

This macro basically repeats the steps but all with a single button press (or hotkey press if you assign a hotkey). Save the file to ZBrush 4R4\ZStartup\Macros\Misc folder, then press Macro>Reload All Macros or restart ZBrush. There will then be a new macro button called ‘MaskZSphere’ in the Macro>Misc menu.

Macro file:

That’s perfect, I have it mapped and am using it all of the time now, thank you!