Pseudo-G2F to G3F conversion (deprecated)

mtl1mtl1 Posts: 1,508
edited August 2017 in The Commons

August 11, 2017: Deprecated. New (similar) method coming out soon

Oct 7: Tutorial is complete! Please refer to the PDF...

Oct 9: Complete Conversion coming...

--------------------------

I've been working on a Pseudo-G2F to G3F conversion freebie-tutorial-thing for the past few days, but it needs critiques and insights before it goes any further.

The method, in short, is extremely simple: export/import a G2F OBJ, (edit) convert OBJ to general weight-map figure (end edit), auto-fit (not transfer utility) onto G3F using G2F/None option, smooth out the corrupted/weird weights at the lips, then hide G2F's eyes, mouth, teeth, and tongue while keeping G3F's equivalent parts.

The result is that G3F 'wears' G2F's skin -- wow, this gives me horror movie chills, just in time for halloween in Oct -- while keeping the original eyes and mouth. G2F will also reasonably follow G3F's morphs, as shown with Aiko 7 below, so there's no need to transfer G3F's morphs onto G2F.

However, there are issues, which will need community development and input:

  • I have *no* idea why this works better with OBJ than autofitting G2F directly. Following transforms, weight maps and expressions seem to work much better... but I may have confused a step along the way
  • This method is highly dependent on painting skills to fix the mouth/lips rig, and I'm only a beginner-ish level user with the weight-mapping tools in DAZ
  • There's some poly corruption at the face, namely near the right side of the mouth -- could be weightmap issues, but it appeared on two different weight-map attempts -- and G2F's inside upper eyelid and lower left eyelash. These issues also disappear if I turn on the headlight of the camera, so perhaps they're stretched polys casting shadows. As well, the tragus of the ear looks a bit off if I turn the camera to a side profile...
  • I haven't checked texture stretching either, but I didn't see any from a cursory glance

Hopefully someone out there will have some insights or critiques into this? :) Thanks in advance!

g2f-aiko-test2.png
720 x 720 - 464K
g3f-aiko-test2.png
720 x 720 - 495K
pdf
pdf
tutorial.pdf
1010K
Post edited by mtl1 on
«1

Comments

  • mtl1mtl1 Posts: 1,508

    Another quick sample: this time Valoria 7 dialed into G3F while wearing Lilith 6's skin. There's a bit of an issue with the ears as evidenced by this render...

    g3f-valoria-test.png
    720 x 720 - 538K
  • 3Diva3Diva Posts: 11,970
    edited September 2016

    Oh man! If this ends up working well I'm going to be SO HAPPY! I'm keeping an eye on this thread. I hope you can work the bugs out. Sadly, this is completely above my head. lol

    Post edited by 3Diva on
  • 3Diva3Diva Posts: 11,970
    mtl1 said:

    Another quick sample: this time Valoria 7 dialed into G3F while wearing Lilith 6's skin. There's a bit of an issue with the ears as evidenced by this render...

    It looks pretty low poly - is there a way to increase the poly count? That might get rid of the odd jaggy at the ears. 

  • mtl1 said:

    I've been working on a Pseudo-G2F to G3F conversion freebie-tutorial-thing for the past few days, but it needs critiques and insights before it goes any further.

    The method, in short, is extremely simple: export/import a G2F OBJ, (edit) convert OBJ to general weight-map figure (end edit), auto-fit (not transfer utility) onto G3F using G2F/None option, smooth out the corrupted/weird weights at the lips, then hide G2F's eyes, mouth, teeth, and tongue while keeping G3F's equivalent parts.

    The result is that G3F 'wears' G2F's skin -- wow, this gives me horror movie chills, just in time for halloween in Oct -- while keeping the original eyes and mouth. G2F will also reasonably follow G3F's morphs, as shown with Aiko 7 below, so there's no need to transfer G3F's morphs onto G2F.

    However, there are issues, which will need community development and input:

    • I have *no* idea why this works better with OBJ than autofitting G2F directly. Following transforms, weight maps and expressions seem to work much better... but I may have confused a step along the way
    • This method is highly dependent on painting skills to fix the mouth/lips rig, and I'm only a beginner-ish level user with the weight-mapping tools in DAZ
    • There's some poly corruption at the face, namely near the right side of the mouth -- could be weightmap issues, but it appeared on two different weight-map attempts -- and G2F's inside upper eyelid and lower left eyelash. These issues also disappear if I turn on the headlight of the camera, so perhaps they're stretched polys casting shadows. As well, the tragus of the ear looks a bit off if I turn the camera to a side profile...
    • I haven't checked texture stretching either, but I didn't see any from a cursory glance

    Hopefully someone out there will have some insights or critiques into this? :) Thanks in advance!

    I'm following this thread too -- I have GenX2 [or whatever it's called these days], but I'd love some more detail about painting weight maps, something I've never figured out.

    --MW

  • mtl1mtl1 Posts: 1,508

    Thanks for the comments guys :) I just got hope so now I'm able to run a few more tests.

    I'm also trying to work out an alternative method to manually painting weight-maps -- or at least, painting in such a way that doesn't require *too* much subjectiveness.

     

    mtl1 said:

    Another quick sample: this time Valoria 7 dialed into G3F while wearing Lilith 6's skin. There's a bit of an issue with the ears as evidenced by this render...

    It looks pretty low poly - is there a way to increase the poly count? That might get rid of the odd jaggy at the ears. 

    This gave me an idea on a couple of things, especially the way I set up my original model. I'll see if my hunch is correct very shortly.

  • 3Diva3Diva Posts: 11,970

    Sweet! Welcome home! :D 

    I hope you're able to get your ideas flowing! :) I'm excited by the possibilities of this!

  • mtl1mtl1 Posts: 1,508
    edited September 2016

    So a strange confluence of events: I was freaking out earlier this week because I thought that G2F was supposed to load at base resolution. I later found out that, by default, she loads at high resolution with SubD level 1. My previous tests were with G2F at Base resolution, hence @divamakeup 's comment about low resolution.

    Thanks to @divamakeup, I realized my mistake and exported G2F as a SubD-1 object, reimported it, and did the same steps above. I also paid more attention to the weightmapping, since there are now more vertices involved.

    edit: Notice how the central 'crease' from earlier is gone, and the ears are in much better shape now.

    Interestingly enough, a lot of the weight map anomalies can't be found by looking at the weight maps alone. Only poses/expressions can identify these areas. As you can see, this test still needs more work with the odd lip protusions -- and this was after a few expressions already.

     

    Sadly, I did find a bug -- or perhaps a feature? -- within DAZ's weight-map tool. Smoothing operations seem to affect multiple bones instead of the selected bone, which is not the expected behavior and makes this conversion a little time consuming. The bright side is that this is a one-time operation and can be reused later on!

    g2f-g3f-test.png
    405 x 405 - 159K
    g2f-g3f-test-side.png
    405 x 405 - 177K
    Post edited by mtl1 on
  • mtl1mtl1 Posts: 1,508

    Also @modernwizard , I plan to write up a detailed approach of how I fixed the weight-mapping at the lips. It's not that it's hard, but it's extremely time consuming and requires a few 'tricks'.

  • 3Diva3Diva Posts: 11,970
    mtl1 said:

    So a strange confluence of events: I was freaking out earlier this week because I thought that G2F was supposed to load at base resolution. I later found out that, by default, she loads at high resolution with SubD level 1. My previous tests were with G2F at Base resolution, hence @divamakeup 's comment about low resolution.

    Thanks to @divamakeup, I realized my mistake and exported G2F as a SubD-1 object, reimported it, and did the same steps above. I also paid more attention to the weightmapping, since there are now more vertices involved.

    edit: Notice how the central 'crease' from earlier is gone, and the ears are in much better shape now.

    Interestingly enough, a lot of the weight map anomalies can't be found by looking at the weight maps alone. Only poses/expressions can identify these areas. As you can see, this test still needs more work with the odd lip protusions -- and this was after a few expressions already.

     

    Sadly, I did find a bug -- or perhaps a feature? -- within DAZ's weight-map tool. Smoothing operations seem to affect multiple bones instead of the selected bone, which is not the expected behavior and makes this conversion a little time consuming. The bright side is that this is a one-time operation and can be reused later on!

    Oh wow! That's awesome - it looks So Much Better! This is quite exciting! I hope that the final process won't be TOO hard for newbies like me. :) Because I'm totally going to have to try this (if it's not too hard).

    I'm really glad that my comment about the low res was helpful! :)

  • mtl1mtl1 Posts: 1,508

    I really should be going to bed -- I have to be up at 6:30a -- but I found another area that needs fixing. Not entirely surprising considering it's part of G3F's complex face rig.

    Also, I've noticed that my G2F "skin" looks like it has ridges on her lips. I wonder if there's a way for me to fix that...

    g2f-g3f-test-eye.png
    405 x 405 - 230K
  • 3Diva3Diva Posts: 11,970
    mtl1 said:

    I really should be going to bed -- I have to be up at 6:30a -- but I found another area that needs fixing. Not entirely surprising considering it's part of G3F's complex face rig.

    Also, I've noticed that my G2F "skin" looks like it has ridges on her lips. I wonder if there's a way for me to fix that...

    Whoa - weird eye ridges. Hmmm That looks like it's trying to fit a larger number of polys into a smaller area/zone? 

  • mtl1mtl1 Posts: 1,508

    Well, it could be a number of things. There was a mini-discussion out on Technical Help about weight map projections, as I mainly believe that it's due to projection issues with G2F fitting onto G3F.

    In short: the geometries of the two figures are different, so the weight maps of G3F have to be "approximated" onto G2F. It messes up on certain surfaces for some reason -- some vertices have extremely high/corrupted values while others are simply blank -- such as in the inner lips and now evidently the eye margins.

    I have another hypothesis concerning weight/projection maps but I need to work out *how* I'm going to carry out the experiment first...

  • mtl1mtl1 Posts: 1,508

    So, more findings this time around:

    - Found a strange occurance with this method and Smile Delight expression dials. They produce the same melty mouth effect from earlier, but it doesn't seem to be caused by the weight maps/rigging. I'm guessing that the product uses G3F-specific morphs, which result in an effect similar to G2F's initial state in this tutorial.

    - The small lip ridges and other small 'bumps' caused by mesh distortions (ie. not weight map issues) can be solved by adding mesh smoothing. However, the hidden length influence variable must be adjusted or else it will collide with hidden G3F elements below.

    - Weight-mapping anomalies should not be solved using the Smoothing tool. That's because the tool has issues interpretting this mesh, and will send weights across several maps. Unfortunately, smoothing is the only way to remove the 1-weight bugged value -- at least within DAZ.

    - The mouth area still has a few issues with certain face shapes, as seen by the 3rd Olympia render below. This is unavoidable due to the two meshes being entirely different. The simple solution is to dial back the morph. Yes, this is quite the limitation.

    - If the chosen G2F mat isn't Base Female, you'll have to update the UV. That's a fairly simple process so I'll write that up later as a part of the final tutorial.

    - If polys are hidden using the geometry editor, they'll reappear upon reloading the file.

    At this point, I can safely say that this method is complete. All that's left to do is to write up the guide for it :)

    horror.png
    405 x 405 - 182K
    bluesteel.png
    405 x 405 - 155K
    olympia.png
    405 x 405 - 149K
  • 3Diva3Diva Posts: 11,970

    Awesome work! Thank you for sharing your progress. I've learned a lot. 

    I'm excited to hear that the method is complete. I'm looking forward to seeing the guide! :)

  • mtl1mtl1 Posts: 1,508

    Well, my guide is a little delayed because of procrastination. However, there's a good reason for this: I've achieved nearly distortion-less conversion with zero jaggies -- my eyes can't see any jaggies, but there may be some hidden somewhere.

    Bad news? It involves Blender.

    But the good news? It takes less than 5 clicks inside Blender itself, not counting importing/exporting the models.

    Please excuse the poor render angles, but I wanted to highlight the important areas.

    I'll explain more later once I get more testing done on this :)

    g2f-g3f-enhanced.png
    720 x 720 - 593K
    g2f-g3f-enhanced-2.png
    720 x 720 - 643K
  • 3Diva3Diva Posts: 11,970
    mtl1 said:

    Well, my guide is a little delayed because of procrastination. However, there's a good reason for this: I've achieved nearly distortion-less conversion with zero jaggies -- my eyes can't see any jaggies, but there may be some hidden somewhere.

    Bad news? It involves Blender.

    But the good news? It takes less than 5 clicks inside Blender itself, not counting importing/exporting the models.

    Please excuse the poor render angles, but I wanted to highlight the important areas.

    I'll explain more later once I get more testing done on this :)

    Yay! Five clicks in Blender - I think I can handle that (as long as it's a step by step process that a child can do! lol). 

    The renders look great - I'm not seeing any jaggies or distortion. Awesome work! :D 

    I'm really looking forward to the guide! 

     

  • Five clicks in Blender? I can handle that with illustrations! I await further developments eagerly.

    --MW

  • mtl1mtl1 Posts: 1,508

    First draft is done!

    Are we allowed to attach PDFs here? Let's see...

    pdf
    pdf
    tutorial.pdf
    1010K
  • mtl1mtl1 Posts: 1,508
    edited October 2016

    ... and I've already spotted something I should add into the tutorial. It'll make it to the next revision.

    edit: To-Do list:

    • Detail differences between loading morphed figure prior to fit and/or using None/None
    • Geometry Editor hide/show doesn't stick upon restart
    • OBJ and Figure differences?
    • No more jaggies, nor is the morph/smoothing needed in some test runs... why?
    Post edited by mtl1 on
  • 3Diva3Diva Posts: 11,970
    edited October 2016

    Ohhhh It's here! This is exciting! :D I hope I can do it! :)

    I'm working on some art commissions but I'll try and tackle this tutorial as soon as I can. I'm very much looking forward to doing this! :D

    Thank you!!

    Post edited by 3Diva on
  • mtl1mtl1 Posts: 1,508

    Ohhhh It's here! This is exciting! :D I hope I can do it! :)

    I'm working on some art commissions but I'll try and tackle this tutorial as soon as I can. I'm very much looking forward to doing this! :D

    Thank you!!

    You're very welcome.

    For some reason, it doesn't need to use Blender anymore... I don't know why it doesn't need Blender anymore. I'm trying in vain to figure out why but it's also close to 1:30am here.

    I quickly redid another conversion, fixing the eyes a little this time: Olympia 6 mats on Olympia 7 100% fully dialed, using 7's eyes and teeth.

    There's also another small trick I want to detail in the tutorial, but it'll have to wait until next week since I want to catch up on my marking during our Canadian long weekend...

    olympia6-on-olympia7.png
    720 x 720 - 430K
  • 3Diva3Diva Posts: 11,970
    mtl1 said:

    Ohhhh It's here! This is exciting! :D I hope I can do it! :)

    I'm working on some art commissions but I'll try and tackle this tutorial as soon as I can. I'm very much looking forward to doing this! :D

    Thank you!!

    You're very welcome.

    For some reason, it doesn't need to use Blender anymore... I don't know why it doesn't need Blender anymore. I'm trying in vain to figure out why but it's also close to 1:30am here.

    I quickly redid another conversion, fixing the eyes a little this time: Olympia 6 mats on Olympia 7 100% fully dialed, using 7's eyes and teeth.

    There's also another small trick I want to detail in the tutorial, but it'll have to wait until next week since I want to catch up on my marking during our Canadian long weekend...

    You don't need Blender anymore? WHA? NICE! Should I wait until next week when you've updated the tutorial or try this version of the tutorial?

  • mtl1mtl1 Posts: 1,508
    You can simply skip that portion :)
  • mtl1mtl1 Posts: 1,508
    edited October 2016

    Another test render: Aiko 6 skin on Aiko 7 100% dialed, with a classic A6 outfit/hair. No OBJ imports, no smoothing.

    I didn't hide G2F's eyes or inner mouth in this case -- eye surfaces didn't have much noticeable corruption, at least from this distance. That, and the mouth is closed.

     

    edit: I've also detailed this in the Technical Help section, but there seems to be a severe bug when trying to autofit (ie. generate a projection map) a clothing item over surfaces that are hidden through the geometry editor. While I'm waiting for confirmation of this bug, I suggest hiding geometry as the last step, after clothing and everything has been set up.

    test-aiko.png
    1280 x 1280 - 1M
    Post edited by mtl1 on
  • mtl1mtl1 Posts: 1,508

    Hmm. Found a way to preserve the eyes. A test-render for Halloween: G3F with Ariadne skin, Aether Outfit, and Terror Eyes.

    vampire.png
    720 x 720 - 667K
  • 3Diva3Diva Posts: 11,970

    Those renders look great! I hope to find some time this weekend to do your tutorial. I'm looking forward to seeing if I can get it to work too. :D

  • mtl1mtl1 Posts: 1,508

    Thanks! I played around with a bit more of my findings, and it looks like smoothing modifiers with Generic Smoothing Type and No Collision Item can effectively remove corrupted eye details. I'll need to test more.

    Hopefully in the future I'll find a way to fix the teeth as well.

    vampire-3.png
    720 x 720 - 646K
  • mtl1mtl1 Posts: 1,508
    edited October 2016

    Well, this was unexpected.

    You may be wondering why I am uploading another image of G3F-shaped G2F with her tongue out. That's because I may have achieved total conversion of G2F into G3F -- the test render below uses Base G2F's eyes and mouth! This means no more awkward hiding of eyes and mouth for G2F. :) Blender, unfortunately, is still used, but it's optional at this point unless G2F/G3F is used for portraits and close-ups.

    I'll post more later; I have to do more test renders to confirm.

    fixed-mouth-eyes.png
    720 x 720 - 508K
    Post edited by mtl1 on
  • mtl1mtl1 Posts: 1,508

    One more: Mst's Trik Or Treat for V4 on G2F on Aiko7/G3F.

    aiko7-trik.png
    720 x 720 - 393K
  • 3Diva3Diva Posts: 11,970
    mtl1 said:

    Well, this was unexpected.

    You may be wondering why I am uploading another image of G3F-shaped G2F with her tongue out. That's because I may have achieved total conversion of G2F into G3F -- the test render below uses Base G2F's eyes and mouth! This means no more awkward hiding of eyes and mouth for G2F. :) Blender, unfortunately, is still used, but it's optional at this point unless G2F/G3F is used for portraits and close-ups.

    I'll post more later; I have to do more test renders to confirm.

    Oh wow! That's fantastic news! :D I think I'll wait until you update the tutorial then. :) I'd love to get "total conversion". 

Sign In or Register to comment.