mcjMirrorMorph - This script builds mirrored morphs on (for now) figures with good symmetry

mCasualmCasual Posts: 4,607
edited June 2015 in Freebies

by good symmetry we mean, there's the same number of vertices on each side of the figure
and they are at mirrored positions of one another

mcjMirrorMorph for DS4.X PC/Mac version

right here—-> https://sites.google.com/site/mcasualsdazscripts5/mcjmirrormorph


if you cant get the download from the attachments ( the blue down arrow )
then here’s a direct link to the zip file
https://sites.google.com/site/mcasualsdazscripts5/mcjmirrormorph/mcjMirrorMorph.zip?attredirects=0&d=1


seems to work well with moderately-low-poly figures and moderately simple morphs

this version ( but maybe not the next one ! ) only works if your figure symmetry is near perfect ( but small symmetry errors are ok )

There should be a DS1, DS2, DS3 version soon

and also in the June-ish future there will be a PC-Only accelerator

which will also ship with mcjSpaceMorph

mcjMirrorMorph.dsa_.png
182 x 182 - 13K
Post edited by mCasual on
«1

Comments

  • RAMWolffRAMWolff Posts: 10,211
    edited December 1969

    Dear Casual,

    I tried to send you a PM but your box is full up. So I'm posting here in hopes you will see this request.

    Since I do all of my morph work in ZBrush and then into DAZ Studio for testing one of the issues I run into is that there is no way to get morphs to look identical on either side. So I may have a JCM morph for the right thigh that looks awesome but then I try to recreate it on the left side and it's just not as good no matter how I go about it.

    So I'm putting out a request for a way to select a morph and mirror it to the other side if possible. Not sure how you would go about doing that. I know there is an ages old script called Mirror Master but that works only for CR2's and this is a DUF native DS file.

    Please let me know.

    Thanks so much!

    Richard

    ExtremeSideBendJCM.jpg
    1300 x 505 - 101K
    121gigawatts.jpg
    780 x 534 - 55K
  • RAMWolffRAMWolff Posts: 10,211
    edited December 1969

    Tried to PM you but your box is full up. SO I sent you a request here:

    http://www.daz3d.com/forums/discussion/30004/P1110/#830994

    Hope all is well! :-)

  • mCasualmCasual Posts: 4,607
    edited June 2015

    RAMWolff said:
    Dear Casual,

    I tried to send you a PM but your box is full up. So I'm posting here in hopes you will see this request.

    Since I do all of my morph work in ZBrush and then into DAZ Studio for testing one of the issues I run into is that there is no way to get morphs to look identical on either side. So I may have a JCM morph for the right thigh that looks awesome but then I try to recreate it on the left side and it's just not as good no matter how I go about it.

    So I'm putting out a request for a way to select a morph and mirror it to the other side if possible. Not sure how you would go about doing that. I know there is an ages old script called Mirror Master but that works only for CR2's and this is a DUF native DS file.

    Please let me know.

    Thanks so much!

    Richard

    that mailbox is so small! and it hurts to delete messages, though in the end i almost never need them but still.


    i posted a teaser very recently for a script which will come out in June

    http://www.daz3d.com/forums/quotereply/830995/

    and i think it could be used for your purpose

    you would
    1 - Zero-pose the object, all morphs zeroed
    2 - apply your Right-Morph to the object or figure
    3 - export this as an obj
    4 - import the obj
    5 - X-Scale it minus 100% ( mirror it )
    6 - export this as an obj
    7 - import the obj
    8 - use the upcoming script to convert the obj into a Left-side morph

    and the main winning point of the script is that the left and right side of the figure don't need to be perfect mirrors to start with

    but i may also make a "mirror" version which would not require the export/import/scale/export/import phases

    Post edited by mCasual on
  • mCasualmCasual Posts: 4,607
    edited June 2015

    RAMWolff said:
    Tried to PM you but your box is full up. SO I sent you a request here:

    http://www.daz3d.com/forums/discussion/30004/P1110/#830994

    Hope all is well! :-)

    mirroring a morph

    possible protocol :

    1 - Zero-pose the object, all morphs zeroed
    2 - apply your Right-Morph to the object or figure
    3 - export this as an obj
    4 - import the obj
    5 - X-Scale it minus 100% ( mirror it )
    6 - export this as an obj
    7 - import the obj
    8 - use mcjSpaceMorpher to convert the obj into a Left-side morph

    and the main winning point of the script is that the left and right side of the figure don't need to be perfect mirrors to start with

    but i may also make a "mirror" version which would not require the export/import/scale/export/import phases

    Post edited by mCasual on
  • RAMWolffRAMWolff Posts: 10,211
    edited December 1969

    Sounds like something that may be useful. Fingers crossed.

    Part of the thing though with creating JCM's is that you have to export the figure and the clothing in the pose that causes the poke throughs, so say I have a twist poke through in the thigh. So I bend up the thigh and twist it to make the poke through, export to ZBrush, fix all that, add in some wrinkles to make the "cloth" flow more naturally and then save that as a morph target. With the figure still posed I bring it in via the Morph Loader Pro and set the "reverse deformations" to YES and then go to the pants thigh and in Edit mode set the ERC up and I'm done.

    So not sure if your script will be it but it's certainly worth a try. The thing is the saved OBJ for that JCM is POSED with the pants leg out and twisted.

    Casual said:
    RAMWolff said:
    Dear Casual,

    I tried to send you a PM but your box is full up. So I'm posting here in hopes you will see this request.

    Since I do all of my morph work in ZBrush and then into DAZ Studio for testing one of the issues I run into is that there is no way to get morphs to look identical on either side. So I may have a JCM morph for the right thigh that looks awesome but then I try to recreate it on the left side and it's just not as good no matter how I go about it.

    So I'm putting out a request for a way to select a morph and mirror it to the other side if possible. Not sure how you would go about doing that. I know there is an ages old script called Mirror Master but that works only for CR2's and this is a DUF native DS file.

    Please let me know.

    Thanks so much!

    Richard

    that mailbox is so small! and it hurts to delete messages, though in the end i almost never need them but still.


    i posted a teaser very recently for a script which will come out in June
    and i think it could be used for your purpose

    you would
    1 - Zero-pose the object, all morphs zeroed
    2 - apply your Right-Morph to the object or figure
    3 - export this as an obj
    4 - import the obj
    5 - X-Scale it minus 100% ( mirror it )
    6 - export this as an obj
    7 - import the obj
    8 - use the upcoming script to convert the obj into a Left-side morph

    and the main winning point of the script is that the left and right side of the figure don't need to be perfect mirrors to start with

    but i may also make a "mirror" version which would not require the export/import/scale/export/import phases


  • RAMWolffRAMWolff Posts: 10,211
    edited December 1969

    Replied in other thread. Thanks Casual!

  • mCasualmCasual Posts: 4,607
    edited June 2015

    RAMWolff said:
    ... mirroring morphs ...

    the cpu-intensive phase for doing that kind of operation will be handled by the 'mcjObjServer' component of mcjSpaceMorph
    it's the phase where we find the vertex that is the closest to the mirrored-position of another vertex

    so there will be a script that does all this:
    - take the list of vertices involved in your joint-controlled morph, that list of vertices "lives" in the JCM morph/modifier
    - save to disk the zero-posed and zero-morphed positions of those vertices --- but ... with the X coordinates Mirrored (negated)
    - save to disk the zero-posed and zero-morphed positions of all the figure vertices (or use the .obj if it already exists)
    - invoke the mcjObjServer ( a PC-Windows utility ) which will possibly make millions of comparisons and find the closest vertex for each vertex in our list
    - load the result
    - create the mirrored morph, which can now be done in a few seconds

    ....
    well come to think of it, one could compute a map which maps each left side vertex of a figure to it's right-side twin (or close)
    that map could be re-used later,

    note : on, a 90000 vertex figure, creating that map would involve 8100000000 (8 billion ! ) vertex position comparisons
    .... hence the use of a PC-Win server, not a script

    Post edited by mCasual on
  • RAMWolffRAMWolff Posts: 10,211
    edited December 1969

    Oh my goodness! I think my brain just fell out..... ;-)~

  • RAMWolffRAMWolff Posts: 10,211
    edited June 2015

    Here is a perfect example of a JCM I would LOVE to be able to mirror.... I really like how this came out and just know I wouldn't be able to recreate that perfectly on the other side Casual!

    ExtremeSideBendJCM.jpg
    1300 x 505 - 101K
    Post edited by RAMWolff on
  • ChoholeChohole Posts: 33,604
    edited June 2015

    I think I am going to have to move this convo somewhere else Wolffie and Casual. WHich thread can I move it to, please. THis thread is only supposed to be for freebie requests.

    Post edited by Chohole on
  • RAMWolffRAMWolff Posts: 10,211
    edited December 1969

    Not sure, what ever the new script is going to be called would probably be best. If it's not been named yet....

  • RAMWolffRAMWolff Posts: 10,211
    edited December 1969
  • RAMWolffRAMWolff Posts: 10,211
    edited December 1969

    Thanks Cho. Honey, why did my image land in Jacques post?? Should be in the "Here is a perfect example of a JCM I would LOVE to be able to mirror......." post! LOL

  • mCasualmCasual Posts: 4,607
    edited December 1969

    RAMWolff said:
    ... JCM I would LOVE to be able to mirror....

    ( if you re-post your image, i can delete it from my post )

    i'll have ( i had to someday ! )to look into how you DS4/Genesis experts do the morph imports

  • ChoholeChohole Posts: 33,604
    edited December 1969

    Sorry about that Wolffie, sometimes a merge will do that with images. not qutie sure why.

    I once merged several thread for a member and we ended up with about 25 images attached to one post, although you are only allowed to actually attach 5. Software is weird. :coolsmirk:

  • RAMWolffRAMWolff Posts: 10,211
    edited June 2015

    Casual said:
    RAMWolff said:
    ... JCM I would LOVE to be able to mirror....

    ( if you re-post your image, i can delete it from my post )

    i'll have ( i had to someday ! )to look into how you DS4/Genesis experts do the morph imports


    HI,

    Yes, please delete that image from you post sir.

    I'm not in front of my work computer right now so I can't give feedback about the morph imports.. I'm in hairdresser mode right now... LOL

    Post edited by RAMWolff on
  • mCasualmCasual Posts: 4,607
    edited December 1969

    RAMWolff said:
    Casual said:
    RAMWolff said:
    ... JCM I would LOVE to be able to mirror....

    ( if you re-post your image, i can delete it from my post )

    i'll have ( i had to someday ! )to look into how you DS4/Genesis experts do the morph imports


    HI,

    Yes, please delete that image from you post sir.

    I'm not in front of my work computer right now so I can't give feedback about the morph imports.. I'm in hairdresser mode right now... LOL

    looks like the pants pic is back in your post, and you inherited 1.21 gigawatts in the process :)

  • mCasualmCasual Posts: 4,607
    edited June 2015

    i'll test the idea right now
    note that often, the things i do in my "laboratory" in 15 minutes take days to be made usable for everyone

    1 - Fig 1. - i load Goth-Amy (Aiko3) and place her in an eXtreme pose, wearing low-poly short pants
    2 - export the posed shorts figure using the obj Exporter's Daz presets under the name mcjA3Shortants6_rThighZRot70degrees.obj
    3 - Fig 2 - Import mcjA3Shortants6_rThighZRot70degrees in Blender, making sure the "Keep Vertex Order" and PolyGroups" options are On
    4 - Fix the problems
    5 - Export it as mcjA3Shortants6_rThighZRot70degrees_Morph.obj making sure the "Keep Vertex Order" and PolyGroups" options are On
    6 - i select the root bone of the pants
    7 - I go in the DS menu Edit / Figure / Morph Loader pro
    8 - well i was able to import the morph, but, a) unfortunately i had changed the pose on the left side and it became part of the morph and b) the morph strength to apply the morph is 5% instead of 100%
    9 - taking it da capo
    10 - Turns out that's not the problem, the problem is i didnt see/use that "“reverse deformations”" option RamWolf mentioned
    11 - Fig 3 : there it is
    12 - Fig 4: There it is, and the morph strength is 1 ( 100%) as expected
    13 - i wont do the JCM rigging
    14 - figuring how to mirror the morph using the upcoming mcjObjServer

    gotit.gif
    500 x 500 - 180K
    dere.jpg
    1280 x 720 - 167K
    ajo.jpg
    600 x 480 - 90K
    ouch.jpg
    500 x 500 - 147K
    Post edited by mCasual on
  • RAMWolffRAMWolff Posts: 10,211
    edited December 1969

    Poor Aiko... yea, the Reverse Deformations option to Yes is a must.

    Then make sure when you apply the "JCM" that you go into Edit mode (right click on the properties and select "Edit Mode" then in the shorts Left Thigh right click and select ERC and just make sure to only have the new morph you have imported in checked off. Uncheck any additional morphs that are in the list. Leave all three boxes below left of the ERC dialog checked.... Hit the Accept button and your done.

    ERCMode.jpg
    449 x 553 - 54K
  • mCasualmCasual Posts: 4,607
    edited December 1969

    RAMWolff said:
    ERC ...

    i wont get into ERCs but anyway the main task is mirroring the morph, any morph

    dere2.jpg
    876 x 660 - 245K
  • RAMWolffRAMWolff Posts: 10,211
    edited December 1969

    Nice but will the script allow me to rename the morph target before applying it so it's not a complete duplicate? Not sure how DS will like that when the pants are saved out with identical names.. might return a duplicate ID error!

  • mCasualmCasual Posts: 4,607
    edited June 2015

    RAMWolff said:
    Nice but will the script allow me to rename the morph target before applying it so it's not a complete duplicate? Not sure how DS will like that when the pants are saved out with identical names.. might return a duplicate ID error!

    the script will create a morph with the same name plus a "mirror_" prefix
    but i can also make the name editable

    i almost finished writing the slow-but-Mac-compatible version

    if the morph involves a few hundred vertices, and the clothes are a few thousand vertices, it should be able to mirror a morph within seconds or minutes

    when the morph involves thousands of vertices and the figure is many tens of thousands of vertices, the mcjObjServer will come in handy

    ( i call it a server because the pc-win-app has a sustained conversation with the Daz script "client" )

    Post edited by mCasual on
  • mCasualmCasual Posts: 4,607
    edited June 2015

    RAMWolff said:
    ... mirrored morphs ...

    success !

    i'll post it on my site tonight

    that's the slow-but mac-compatible version

    it only works if each vertex on one side has a matching twin on the other side

    On low-poly shorts it was done faster than i could measure

    dere3.jpg
    800 x 600 - 69K
    sisisi.gif
    500 x 500 - 300K
    Post edited by mCasual on
  • RAMWolffRAMWolff Posts: 10,211
    edited December 1969

    Cool and very good, glad you added the rename option. :-)

    Slow-but MAC compatible version? So no Windows version available just yet? It's cool if not... just wondering.... :-)

  • mCasualmCasual Posts: 4,607
    edited December 1969

    RAMWolff said:
    Cool and very good, glad you added the rename option. :-)

    Slow-but MAC compatible version? So no Windows version available just yet? It's cool if not... just wondering.... :-)

    PC and Mac compatible

    but when the mcjObjServer accelerator comes out, it will be for PC only

    without it, mirroring a morph on a 100000 vertices figure will take seconds instead of minutes, hours or days :)


    --

    i only have to make the thumbnail image and its ready
    https://sites.google.com/site/mcasualsdazscripts5/mcjmirrormorph

  • mCasualmCasual Posts: 4,607
    edited June 2015

    mcjMirrorMorph for DS4.X PC/Mac version

    right here : : : : https://sites.google.com/site/mcasualsdazscripts5/mcjmirrormorph

    if you cant get the download from the attachments ( the blue down arrow )
    then here's a direct link to the zip file
    https://sites.google.com/site/mcasualsdazscripts5/mcjmirrormorph/mcjMirrorMorph.zip?attredirects=0&d=1


    seems to work well with moderately-low-poly figures and moderately simple morphs

    this version ( but maybe not the next one ! ) only works if your figure symmetry is near perfect ( but small symmetry errors are ok )

    There should be a DS1, DS2, DS3 version soon

    and also in the June-ish future there will be a PC-Only accelerator

    which will also ship with mcjSpaceMorph

    mcjMirrorMorph.dsa_.png
    182 x 182 - 13K
    Post edited by mCasual on
  • RAMWolffRAMWolff Posts: 10,211
    edited December 1969

    Thank you so much. I'm afraid that my pants verts are probably way over the limit! lol I don't really do low poly, it's probably more like med poly! ;-)~

  • mCasualmCasual Posts: 4,607
    edited June 2015

    RAMWolff said:
    Thank you so much. I'm afraid that my pants verts are probably way over the limit! lol I don't really do low poly, it's probably more like med poly! ;-)~

    i added a progress bar so you can interrupt the script if it's heading to take 1 day to complete :)

    also i think scripts run faster in DS4 than they did in DS3

    Post edited by mCasual on
  • RAMWolffRAMWolff Posts: 10,211
    edited December 1969

    Cool and I'm running a 64 bit system, so not sure if that makes a difference?

  • mCasualmCasual Posts: 4,607
    edited June 2015

    RAMWolff said:
    Cool and I'm running a 64 bit system, so not sure if that makes a difference?

    i read that 64 bit doesn't really run faster but it does have access to more of your ram


    5 meters bounces on a planet with 10m/s² gravity
    1 second falls, 1 second ascensions

    bounces.gif
    600 x 450 - 68K
    Post edited by mCasual on
Sign In or Register to comment.