ZBrushCentral

Working on a pre-rigged character in ZBrush and bringing it back into XSI

Hi, I’m hoping someone can help me out with this one.

What I’m trying to do is create a rigged generic human character in XSI (7.5) using the Man Maker feature, and then bringing the body geometry into ZBrush (via GoZ), altering the geometry (modifying shape a bit, adding details, but keeping the same basic biped shape) in order to create a specific character/biped creature, then bringing that edited version back into XSI onto the rig.

The reason… I want to create rigged characters, but my rigging skills are hardly great (…I understand the concepts, and can do it, but I’m seriously lacking in the details and fine tuning), and since the Man Maker feature easily creates a fully rigged character (that I know is done properly), it would be great if I could then just modify the shell geometry from there, and have nicely detailed, custom characters.

So, first of all, here’s where I’m at…

Creating the character via Man Maker works fine. Importing the shell geometry into ZBrush via GoZ works fine. Modeling in ZBrush works fine. Exporting back to XSI works fine… except the shell geometry appears to be detached from the rig.

I’ve tinkered around wtih it (with what I do know about rigs, etc), and managed to attach it (whether rightly or wrongly) via the Set Envelope menu item. But, it didn’t appear to be quite right. Of my several attempts (each trying different things), I generally had a rig that SEEMED to work (generally), but the eyes would not move with the head, or the eyes would move with the head, but not move via the eye control of the rig, or parts of the face would not move with the rest of the head (when moved via the rig).

So, I figure maybe it’s a point weight/assignment issue?

Manually configuring/editing the various points to various weights and deformers is a little beyond me (although I understand it conceptually, and want to eventually be skilled enought to do that sort of ‘under the hood’ type of modification).

As far as the eye thing goes, I wasn’t sure if the physical eye objects should be parented to the ‘skull’ of the IK rig, or the shell geometry of the body. (Neither seemed to work exactly right). Then again, what also seems to be happening is that the chin and forehead (of the shell geometry) are not moving in unison, and kind of end up stretching the head a bit when you tilt it back… so, maybe the chin is getting partially influenced by some other deformer in the IK rig…)

So, I’m kind of hoping someone might be able to tell me the steps needed to remedy this, and re-attach the geometry to the rig after bringing it back from ZBrush.

A few other questions, too:

-Is that normal for the geometry to get separated when you move it into ZBrush, then back again (…I would have thought that it would simply swap the old with the new, keeping the rig linked when you bring in the modified version into XSI)?

-Is there something I can do before the export to ZBrush to remedy that separation?

-Is there some other workflow I could/should use (in order to modify the body geometry of a rigged character using ZBrush?

-Do I have to keep the imported body geometry the same resolution, or can I subdivide it in ZBrush? (I figure that might result in (the new) points not being assigned to any bones/deformers in the rig)

-Can I subdivide in ZBrush if I export the low (orginal) res mesh, and add the detail (in XSI) via bump/displacement maps generated in ZBrush using the subdivided version I create in ZBrush?

-I get the impression that even if I re-attach the imported (modified) geometry from ZBrush onto the rig, the point assignments and weights might not be correct (or matching those created when the envelope was initially made with Man Maker. Is that the case?

I know one solution would be to create the finished ZBrush shell geometry, and THEN rig it… but I’m not sure I’m up to doing that (…just not convinced I’d do it correctly, especially the weighting and finer details of the rig).

If anyone can guide me towards a solution, it would be greatly appreciated. I’ve been re-reading the books and watching online vids, but so far none have really addressed my issues specifically.

Cheers!

If the vertex order remains the same (which it should), then you should be able to easily hook up the old rig to the new mesh.


  1. Open the weight editor of the old rigged mesh with Alt+E
  2. File: Save Preset
  3. Select the new Mesh
  4. If it’s not yet enveloped to the rig, use Deform: Envelope: Set Envelope and middle-mouse click on the Envelope group that’s found in the Man Maker node, then right click to end the pick session
  5. Open the weight editor again with Alt+E, and this time load the preset you saved from the old mesh

The valve plugin also has tools for importing and exporting weights, and GATOR would also be another alternative for transfering the weights over (select new mesh, Get: Property Gator, select the old mesh, click the Transfer button under “Shape Animation, Envelope Weights”). Consider GATOR to be the ultimate fallback; it’s great at what it does, and it most likely will work even if the vertex order or topology has changed.

-Is that normal for the geometry to get separated when you move it into ZBrush, then back again (…I would have thought that it would simply swap the old with the new, keeping the rig linked when you bring in the modified version into XSI)?

As far as I know, GoZ is like importing an OBJ. No bones or weights are saved with the file, so when you import the model, it’s like having a new mesh.

Do I have to keep the imported body geometry the same resolution, or can I subdivide it in ZBrush?

You can subdivide in ZBrush for the sake of adding detail. What you’d want to do in this case is bake the highpoly detail to a normalmap and/or displacement map, then export the lowest/original subdivision level back to XSI for the sake of rigging

Hi. Thanks for the quick response.

Okay, well one thing with your suggestion confuses me. I never have two versions of the mesh. I have the rigged character (straight from Man Maker in XSI) before activating GoZ. When I do the GoZ transfer, export then import back into XSI, it seems to simply replace the mesh with the new one. Then again, I should really check that. Maybe the old mesh is hidden or something… but I was under the impression that the original mesh gets replaced with the new one, so I never have the two sitting in XSI at the same time.

So, if that’s the case, would I save the weighting preset right after creating the rigged character (and before the GoZ transfer), and then apply it after I bring the modified mesh back into XSI?

What you described is partially what I’m doing (Set Envelope part), but I wasn’t doing the weight preset part… which is probably the missing element. I’ll give that a try. Thanks!

UPDATE: Okay, I did what you suggested, and there was definitely some change in the weight map when I loaded the saved preset… so that probably helped. However, the physical eye objects (created by Man Maker) are not attached to the head in any way (same deal as what I had in some of my other attempts). This is one of the things I wasn’t sure about… Do the eye objects get included with the mesh selection when I Set Envelope, or do I parent them to something? Or, do I do a separate Set Envelope for them? When I previously included them in the Set Envelope (along with the main mesh), the moved with the head, but the eye control no longer moved them… and when I parented them to various sections of the head rig (the big ‘skull’ cube or the upper neck bone), the eye controls worked, but the eyes didn’t move fully aligned with the mesh. I’ll tinker with that some more, as maybe things are different with the new weighting… But what (if anything) should the eye objects be parented(?) to?

Check the explorer to see if there are two models (or more, depending on if you have zbrush splitting polygroups). I usually export and import manually instead of using the GoZ, but if it does just leave you with one mesh, then yeah, save your weightmap preset before exporting it to zbrush.

Yep, that worked (pre-save), but please check my update on my previous post. Getting close, I think!

I tried parenting the eye objects to the ‘skull’ cube of the rig. That worked (and the control still works), but it (obviously) doesn’t rotate with the head/mesh when you move the head (skull cube) side to side, since the skull cube doesn’t rotate (only the mesh does). So, on one hand, you want it attached to the mesh (so it rotates with it), yet when you do that, it doesn’t move (translation), as the mesh anchor isn’t moving (it’s standing still while the mesh itself gets distorted).

So, I’m a bit stumped as to how to re-attach the eye objects to the rig/mesh so it both moves and rotates wtih the mesh’s distortions. (Sorry, I’m a bit rusty/green when it comes to the details of rig setups)

This is kind of becoming an XSI post more than ZBrush now (since the ZBrush part of it has been resolved)… but, if you could give me a bit more guidance on this, I’d really appreciate it!

From what I can see (on the original Man Maker rig), the eye objects have two constraints applied to them… a direction one, and a constrain to cluster one… but I’m not clear on the specifics. I can’t (for example) figure out what cluster the constrain is to. Not sure where to find that in the explorer. The constrain section has a lot of settings/info, but I don’t see anything specifying which cluster it’s constraining to. The direction constrain seems like it needs some offset or something as well, as the eye gets translated out somewhere.

I wish I was more familiar with how the eye rig works. Then I could kind of try and follow it logically, and see what appears to be missing in the schematic logic.