Question on ZBrush and Morph Loader Pro

MelissaGTMelissaGT Posts: 2,611
edited July 2021 in The Commons

I'm trying to make a simple soft body morph in ZBrush...this one being something I can't do with Mesh Grabber because it involves needing to isolate and freeze/mask part of the mesh. Anyways, I can import the morph via Morph Loader Pro (GoZ was acting up)...but when I import the morph, the figure does weird stuff. I don't know whow to describe it...it shrinks? When I export to obj, I export it at base and subd 0, and then make my modifications in ZBrush. I export from ZBrush and then grab the morph file in Morph Loader Pro and change Reverse Deformations to 'Yes". When I slide the morph in, it doesn't look right. It's changing more than just the small parts that I modified. It's subtle, but definitely changing.

I've attached a screenshot. All I'm trying to do is fix his armit/shoulder area and I worked on that while masking and hiding polygroups, etc so I wouldn't mess with anything else. But you can see from the comparison that his overall body definition is smoothed out (belly button, abs, lips you can really see it), he's actually a bit smaller, and there's a really funky bump on his collarbone. Does anybody have any idea what I'm doing wrong? 

Steps - 

  • SubD 0 and Base Resolution
  • Navel HD dialed out
  • Export to .obj with Daz preset
  • Import to ZBrush
  • Set up poly groups based on UV mapping
  • Subdivide to 4
  • Mask appropriately and morph topology
  • Subdivisions to base
  • Export to .obj
  • Import to Daz via Morph Loader Pro - make sure to change Reverse Deformations to 'Yes"
  • Turn Navel HD and SubD back on
  • Slide Morph to 100%

So what am I doing wrong? This has happened to me before with other scenes and meshes, both with and without GoZ...so I'd love to know what I'm doing incorrectly. Thanks!

morph comparison.jpg
1935 x 1010 - 348K
Post edited by MelissaGT on

Comments

  • Did you actually subdivide the mesh in Zbrush or use Dynamic Subdivision?

    I was always under the impression that subdividing the mesh and then restoring it back to base was asking for issues. 

    I always just dynamic subdivision for making jcm's with something cleaner than the importated base 0 resolution.

  • MelissaGTMelissaGT Posts: 2,611

    MeneerWolfman said:

    Did you actually subdivide the mesh in Zbrush or use Dynamic Subdivision?

    I was always under the impression that subdividing the mesh and then restoring it back to base was asking for issues. 

    I always just dynamic subdivision for making jcm's with something cleaner than the importated base 0 resolution.

    I subdivided the mesh as I didn't think I could use dynamic subdivision without altering the base mesh and having Daz go NOPE when trying to load the morph.  

  • Phoenix1966Phoenix1966 Posts: 1,714
    edited July 2021

    Dynamic subdivision doesn't alter the mesh, instead simulating subdivision. It is very Studio friendly.

    Post edited by Phoenix1966 on
  • melissastjames said:

     

    I subdivided the mesh as I didn't think I could use dynamic subdivision without altering the base mesh and having Daz go NOPE when trying to load the morph.  

    No, afraid it's the opposite. Dynamic subdivision just fakes subdivision without touching the actual mesh at all. It's not a 100% equivalent to subdividing in Daz, but it's very close and makes it much easier when making jcm's. Redo your steps and then use dynamic subdivision on the imported to Zbrush model and then just export when done, you don't need to turn off dyanmic subdivision when exporting from Zbrush since the base mesh was never changed.

  • MelissaGTMelissaGT Posts: 2,611
    edited July 2021

    MeneerWolfman said:

    melissastjames said:

     

    I subdivided the mesh as I didn't think I could use dynamic subdivision without altering the base mesh and having Daz go NOPE when trying to load the morph.  

    No, afraid it's the opposite. Dynamic subdivision just fakes subdivision without touching the actual mesh at all. It's not a 100% equivalent to subdividing in Daz, but it's very close and makes it much easier when making jcm's. Redo your steps and then use dynamic subdivision on the imported to Zbrush model and then just export when done, you don't need to turn off dyanmic subdivision when exporting from Zbrush since the base mesh was never changed.

    Ok thanks! I'll give that a shot tomorrow and report back. Do you have any tips on making that shoulder/armpit look better? I'm really not that experienced at all with ZBrush after having made only simple morphs with it. (He's leaning back against a bartop with his forearm propping himself up if that helps with how the movement should look.)(Actually, I just included a quick test render just to see the pose...ignore her as I wasn't done fidgiting with her hair and expression yet, lol.)

    Frida Braham test.png
    1250 x 1000 - 2M
    Post edited by MelissaGT on
  • If you're referring to the upper arm and the lat colliding when the arm is brought close to the torso you need to be concerned with three parameters:

     

    • Shoulder Bend into the body
    • Collar Bend into the body
    • Shoulder Front/Back behind the body

    That's where I usually get the mesh collisions. Granted, if the guy in the attached picture is who you're trying to fix, I don't think you need anything too extreme. It also looks like you're getting that collision from the shoulder front/back going backwards.

    My recommendation would be to zero the pose, draw the shoulder bend in for both arms, export to zbrush, use symmetry (you might as well fix both arms at the same time). Hide all the polys except for around the armpit area and then use smooth at about 5-10 to just smooth the mesh you see poking through the arm so it's not colliding as badly. Export the obj twice, once for the left arm and once for the right.  

    ** Before you export the body, dial out any hd morphs, that can cause issues when bringing back in. Also make sure you don't have any morphs favorited, this will be important when bringing back into daz **

    Then import that morph back into daz with reverse deformations using the below:

    I would import the left arm morph first, that will of course trigger the right lat to smooth out too. So change to geometry editor mode with vertex selection. Then in edit mode in the parameters, favorite the left arm morph and then right click the left arm moph and choose "select morph vertices". Then will highlight all the verices the morph impacts. Switch the selection tool to lasso and then select the right side vertices and then right click and choose "Morph editing -> Clear Selected Deltas from favorite". This will remove the right side morphed vertices. You can unfavorite the morph at this time.

    Then with the left arm morph still turn on, morph load the right side morph with reverse deformations. This will give you a symmetrical set of jcm's.

    As far as rigging the jcm parameters, I would do a set of three "1st Stage" controllers for the morphs as:

    • .34 max value for the shoulder bend being drawn all the way into the body
    • .33 max for the collar bend being drawn all the way into the body
    • .33 max value for the shoulder front/back going all the way

    That should give you a pretty robust coverage without having to make separate jcm's for the individual joint bends.

     

  • MelissaGTMelissaGT Posts: 2,611

    MeneerWolfman said:

    If you're referring to the upper arm and the lat colliding when the arm is brought close to the torso you need to be concerned with three parameters:

     

    • Shoulder Bend into the body
    • Collar Bend into the body
    • Shoulder Front/Back behind the body

    That's where I usually get the mesh collisions. Granted, if the guy in the attached picture is who you're trying to fix, I don't think you need anything too extreme. It also looks like you're getting that collision from the shoulder front/back going backwards.

    My recommendation would be to zero the pose, draw the shoulder bend in for both arms, export to zbrush, use symmetry (you might as well fix both arms at the same time). Hide all the polys except for around the armpit area and then use smooth at about 5-10 to just smooth the mesh you see poking through the arm so it's not colliding as badly. Export the obj twice, once for the left arm and once for the right.  

    ** Before you export the body, dial out any hd morphs, that can cause issues when bringing back in. Also make sure you don't have any morphs favorited, this will be important when bringing back into daz **

    Then import that morph back into daz with reverse deformations using the below:

    I would import the left arm morph first, that will of course trigger the right lat to smooth out too. So change to geometry editor mode with vertex selection. Then in edit mode in the parameters, favorite the left arm morph and then right click the left arm moph and choose "select morph vertices". Then will highlight all the verices the morph impacts. Switch the selection tool to lasso and then select the right side vertices and then right click and choose "Morph editing -> Clear Selected Deltas from favorite". This will remove the right side morphed vertices. You can unfavorite the morph at this time.

    Then with the left arm morph still turn on, morph load the right side morph with reverse deformations. This will give you a symmetrical set of jcm's.

    As far as rigging the jcm parameters, I would do a set of three "1st Stage" controllers for the morphs as:

    • .34 max value for the shoulder bend being drawn all the way into the body
    • .33 max for the collar bend being drawn all the way into the body
    • .33 max value for the shoulder front/back going all the way

    That should give you a pretty robust coverage without having to make separate jcm's for the individual joint bends.

     

    Thanks - I will try to figure out what that all means tomorrow! 

  • UncannyValetUncannyValet Posts: 230

    By the way, you said your motivation for using Zbrush was because you cant isolate parts with Mesh Grabber

    You actually can isolate parts when importing via Morph Loader Pro.  You can paint a weight map or some other random map to mask out the part you want the morph to apply to.  Then in Morph Loader Pro you can Attenuate By that map.

  • MelissaGTMelissaGT Posts: 2,611

    blue said:

    By the way, you said your motivation for using Zbrush was because you cant isolate parts with Mesh Grabber

    You actually can isolate parts when importing via Morph Loader Pro.  You can paint a weight map or some other random map to mask out the part you want the morph to apply to.  Then in Morph Loader Pro you can Attenuate By that map.

    Honestly, that sounds even more confusing. As long as ZBrush behaves, masking and morphing is much quicker than using Mesh Grabber, at least for me. I just use Mesh Grabber for smaller stuff because I'm entirely too lazy to go through the process of exporting to .obj and opening in ZBrush etc...becuase GoZ only works (as it should, it seems) a fraction of the time.  

  • j cadej cade Posts: 2,310

    If you're still having issues with this - I don't have that much experience with zbrush, but have dealt with similar things with blender, and one trick I've always found to fix this sort of thing creating another morph to compensate.

     

    basically something in the process somewhere is doing something to the mesh but its doing it consistently and in the same way. So you export out two morphs from zbrush one with your morph, and another that you haven't done any sculpting on whatsoever, since the second morph you haven't sculpted on has all the other steps it should have the exact same unwanted deformation as your morph minus what you sculpted, so you set the unsculpted morph strength to -1 and it cancels out the all the other deformation leaving only what you want.

     

    hopefully what I wrote wasn't completely unintelligible

     

     

  • MelissaGTMelissaGT Posts: 2,611

    j cade said:

    If you're still having issues with this - I don't have that much experience with zbrush, but have dealt with similar things with blender, and one trick I've always found to fix this sort of thing creating another morph to compensate.

     

    basically something in the process somewhere is doing something to the mesh but its doing it consistently and in the same way. So you export out two morphs from zbrush one with your morph, and another that you haven't done any sculpting on whatsoever, since the second morph you haven't sculpted on has all the other steps it should have the exact same unwanted deformation as your morph minus what you sculpted, so you set the unsculpted morph strength to -1 and it cancels out the all the other deformation leaving only what you want.

     

    hopefully what I wrote wasn't completely unintelligible

     

     

    Thank you! I didn't have a chance to work on it today, so I'll take a look over the weekend.  

Sign In or Register to comment.