Morphs from G3 to G8

1232426282970

Comments

  • De nada. It's an interesting  problem. I'm glad if someone finds it useful.

  • UthgardUthgard Posts: 761

    First, thank you for this amazing script, Singular Blues, I wouldn't even consider upgrading to G8 if something like it didn't exist. Though I have a couple of questions:

    - How does it work with HD morphs? Is it like GenX, that didn't have access to them, or directly copying the deltas from the duf files allows you to circumvent that limitation?

    - If I want to erase some morphs or group of morphs (like if I buy a one of Zev0's products after having transferred the one from the previous generation) how would I go about that in a way that doesn't risk me screwing up my library and giving me an aneurysm (not necessarily in that order of priority)?

    - If I understand you correctly, I should favorite one morph from a package I want to transfer and then run the script, I am guessing there's no way to do it with more than one package at once? (There's a "what she said" joke in there, somewhere, but I can't quite figure it out.)

    - What is the airspeed of an unladen swallow?

    Once again, thank you for your work. Those of us with less practical skills stand in awe of your accomplishments.

    1. No, it doesn't work with HD. From a purely theory standpoint, it probably could because it is working through the API, but it would become a truly massive file. Both the format and the API for HD is completely hidden, and so there's nothing for me to reverse engineer. It will transfer the SD part of any HD morph, and will also copy the HD file, but the file will be wrong. This is a good point. The next release will contain a check point to skip copy of the HD components.
    2. Each morph is going to be in the same vendor/product folder set as it was originally. For most morphs, removing them will require finding them in data/Daz 3D/Genesis 8/Female/[vendor name]/[product name] folder and deleting them. If you expand the history button on the progress bar, it will give you the disk path of the file it is currently processing, which will tell where to find the files later. You should, of course, remove any morph packs you think might conflict with a purchase before installing that purchase. Some vendors (especially non-Daz, will not use the proper folder format, meaning their morphs end up in data/Daz 3D/Genesis 8/Female/[vendor name]. It's probably best to beware transferring those or pay very close attention to where they end up and make a list of the files that were created at the time.
    3. The script seeks a single morph. If you favorite more than one, it will use the last one it finds (I cannot predict the order it searches it, so can't say which will be last). I don't have any intention of expanding it to support multiple transfers. The script is extremely brute force, so it is probably best it doesn't try to do too much stuff. Having built an script that literally counted all the verts in two figures in order to be able to make this script, I can say that asking the script enginee to do too much make Studio whmper, fall down, curl up and refuse to talk.
    4. African or European?
  • nonesuch00nonesuch00 Posts: 15,619
    edited August 2017
    1. No, it doesn't work with HD. From a purely theory standpoint, it probably could because it is working through the API, but it would become a truly massive file. Both the format and the API for HD is completely hidden, and so there's nothing for me to reverse engineer. It will transfer the SD part of any HD morph, and will also copy the HD file, but the file will be wrong. This is a good point. The next release will contain a check point to skip copy of the HD components.
    2. Each morph is going to be in the same vendor/product folder set as it was originally. For most morphs, removing them will require finding them in data/Daz 3D/Genesis 8/Female/[vendor name]/[product name] folder and deleting them. If you expand the history button on the progress bar, it will give you the disk path of the file it is currently processing, which will tell where to find the files later. You should, of course, remove any morph packs you think might conflict with a purchase before installing that purchase. Some vendors (especially non-Daz, will not use the proper folder format, meaning their morphs end up in data/Daz 3D/Genesis 8/Female/[vendor name]. It's probably best to beware transferring those or pay very close attention to where they end up and make a list of the files that were created at the time.
    3. The script seeks a single morph. If you favorite more than one, it will use the last one it finds (I cannot predict the order it searches it, so can't say which will be last). I don't have any intention of expanding it to support multiple transfers. The script is extremely brute force, so it is probably best it doesn't try to do too much stuff. Having built an script that literally counted all the verts in two figures in order to be able to make this script, I can say that asking the script enginee to do too much make Studio whmper, fall down, curl up and refuse to talk.
    4. African or European?

    Well that means this method will fail should anyone want to transfer the free Genesis 8 HD face expression morphs in the future? Is that right? Or are only some types of HD morphs hidden?

    Post edited by nonesuch00 on
  • barbultbarbult Posts: 17,311

    Where do I find these free Genesis 8 HD face expression morphs?

  • nonesuch00nonesuch00 Posts: 15,619
    edited August 2017

    Oh sorry, they must of been in the Genesis 8 Female Expression Morphs product not part of the base: eg, the old Afraid, Bereft, Bored, ... in Genesis 3 Female Expression Morphs is now Afraid HD, Bereft HD, Bored HD, ... in the Genesis 8 Female Expression Morphs product.

    so MAYBE I misunderstood the poster in the forum thread that said Genesis 8 expressions were HD even in the free G8Falthough you'd have manually pose using the Power Poser as I am very unsure if any of the Posing Tab Pose Controls sliders for the head were present before I bought the expressions package...

    So sorry, I am not sure now if they are present in the base free product but simply unlabeled???!!!

    Post edited by nonesuch00 on
  • mikekmikek Posts: 170
    edited August 2017

    Concerning the HD morphs does one of the other methods work with them if there is no SD or is there any other way to transfer them? They wouldn't have to be HD for me in the end just a similar shape.

    Post edited by mikek on
  • Singular BluesSingular Blues Posts: 729
    edited August 2017

    Well that means this method will fail should anyone want to transfer the free Genesis 8 HD face expression morphs in the future? Is that right? Or are only some types of HD morphs hidden?

    The script does not transfer back to G3. Once the major bugs are removed, a version will be released that does. That script will also not transfer HD. It will transfer the base expression but that will cause duplicate id errors (the HD expressions I have seen data for have the same IDs as the G3 SD expressions, even though they have different names). 

    Please note, there is no point I can see moving the SD component of these expressions. They are pretty much unchanged from the G3 versions.

     

    mikek said:

    Concerning the HD morphs does one of the other methods work with them if there is no SD or is there any other way to transfer them? They wouldn't have to be HD for me in the end just a similar shape.

    There is not currently, nor is likely to be soon, any method to transfer HD. How HD works is not something that is available. There's no indication, at present, that it will become available.

    However, to function with the rest of the Daz ERC implementation, HD morphs need to be called by a regular Daz property. The regular properties are often SD morphs. Those will transfer now, and also in the next release. As of now, however, the HD files may cause unexpected behavior. The next release will have check point that stops the copy of only the HD support files. The base property will be transfered. In case of properties that are not morphs, they will do nothing. Those that are will contain whatever SD component was in the source morph.

    Post edited by Singular Blues on
  • barbultbarbult Posts: 17,311

    So many updates, I've lost track of the restrictions. I have multiple content libraries and also use Daz Connect. Will this script to transfer morphs with JCMs work for me?

  • Singular BluesSingular Blues Posts: 729
    edited August 2017

    It should. I haven't gotten feedback, but the last update should correct all issues there.

    It already worked with connect, but it would copy back to the connect library (which would result in overwritten or non-functional files). Now it will not do that.

    Technically, it already worked with more than one library, but only on some morphs. Correcting that to all led to it trying to perform the transfer the same number of times as there were librariess, but only randomly. The fix separated two action loops so that it can only perform the transfer action once. This is more stable but will cause paritial failure if the content of one product is spread across multiple libraries. Products should not be installed this way (event though they will function that way), so I decided not to support the possibility. This made the script behave, and also made it run slight faster.

    Post edited by Singular Blues on
  • BelladzinesBelladzines Posts: 282
    edited August 2017

    hi ok i am having one issue and forgive me if the solution was posted in earlier posts .... its alot to take in ... (i'm a bit slow when learning new things .. takes me a bit LOL) ..

    i followed the tutorial to the letter .... and when i make the morph transfer, G8's shoulders still move up a bit and even after doing the adjust rigging to shape and ERC freeze and save as morph asset and head apply and all that ... it still does it ..

    am i missing something? i appreciate any and all advice given.

    many thanks!!

     

     

    Post edited by Belladzines on
  • Singular BluesSingular Blues Posts: 729
    edited August 2017

    hi ok i am having one issue and forgive me if the solution was posted in earlier posts .... its alot to take in ... (i'm a bit slow when learning new things .. takes me a bit LOL) ..

    i followed the tutorial to the letter .... and when i make the morph transfer, G8's shoulders still move up a bit and even after doing the adjust rigging to shape and ERC freeze and save as morph asset and head apply and all that ... it still does it ..

    am i missing something? i appreciate any and all advice given.

    many thanks!!

     

     

    Because the two figures are not absolutely perfectly lined up, there is little distortion generated by the projection. This is one of the results of that.

    Any morph, even those that should not affect the shoulders, ends up picking up this distortion. In this picture, G3 is Blue, G8 is White. You can see the points where they line up poorly. the tutorial methods tend to carry a little bit of this along with any morph.

     

    Post edited by Singular Blues on
  • Ok thankyou!!!

  • UthgardUthgard Posts: 761
    1. No, it doesn't work with HD. From a purely theory standpoint, it probably could because it is working through the API, but it would become a truly massive file. Both the format and the API for HD is completely hidden, and so there's nothing for me to reverse engineer. It will transfer the SD part of any HD morph, and will also copy the HD file, but the file will be wrong. This is a good point. The next release will contain a check point to skip copy of the HD components.
    2. Each morph is going to be in the same vendor/product folder set as it was originally. For most morphs, removing them will require finding them in data/Daz 3D/Genesis 8/Female/[vendor name]/[product name] folder and deleting them. If you expand the history button on the progress bar, it will give you the disk path of the file it is currently processing, which will tell where to find the files later. You should, of course, remove any morph packs you think might conflict with a purchase before installing that purchase. Some vendors (especially non-Daz, will not use the proper folder format, meaning their morphs end up in data/Daz 3D/Genesis 8/Female/[vendor name]. It's probably best to beware transferring those or pay very close attention to where they end up and make a list of the files that were created at the time.
    3. The script seeks a single morph. If you favorite more than one, it will use the last one it finds (I cannot predict the order it searches it, so can't say which will be last). I don't have any intention of expanding it to support multiple transfers. The script is extremely brute force, so it is probably best it doesn't try to do too much stuff. Having built an script that literally counted all the verts in two figures in order to be able to make this script, I can say that asking the script enginee to do too much make Studio whmper, fall down, curl up and refuse to talk.
    4. African or European?

    Thanks for your clear and concise answers. As to the swallow... I-I don't know that-- *swoosh*

  • nicsttnicstt Posts: 11,223

    Script was updated last night.

    Can't promiss it fixes infinite looping bt it fixes the cause of the single loop I encountered.

    I'll let you know what happens.

  • nicsttnicstt Posts: 11,223

    Well I tried an easy one first (only one I could find I haven't done myself).

    In E:/Documents/Daz 3D All Libraries/Daz 3D Library/data/DAZ 3D/Genesis 3/Female/Morphs/Littlefox/Star2/: Processed 398 files.

    Result: 
    Script executed in 407 secs 131 msecs.

    I guess it wasn't that easy (or small), but seemed to work.

    I'll see if there are others, and let you know.

  • hi ok i am having one issue and forgive me if the solution was posted in earlier posts .... its alot to take in ... (i'm a bit slow when learning new things .. takes me a bit LOL) ..

    i followed the tutorial to the letter .... and when i make the morph transfer, G8's shoulders still move up a bit and even after doing the adjust rigging to shape and ERC freeze and save as morph asset and head apply and all that ... it still does it ..

    am i missing something? i appreciate any and all advice given.

    many thanks!!

     

     

    Because the two figures are not absolutely perfectly lined up, there is little distortion generated by the projection. This is one of the results of that.

    Any morph, even those that should not affect the shoulders, ends up picking up this distortion. In this picture, G3 is Blue, G8 is White. You can see the points where they line up poorly. the tutorial methods tend to carry a little bit of this along with any morph.

     

    fyi

    The way to fix this sort of issue is to create a "default deformation" morph. I haven't run the script but I assume this could be done by transferring an empty morph. The result will be a morph representing only the unwanted deformation. Dial it backwards as needed to correct transferred morphs.

  • hi ok i am having one issue and forgive me if the solution was posted in earlier posts .... its alot to take in ... (i'm a bit slow when learning new things .. takes me a bit LOL) ..

    i followed the tutorial to the letter .... and when i make the morph transfer, G8's shoulders still move up a bit and even after doing the adjust rigging to shape and ERC freeze and save as morph asset and head apply and all that ... it still does it ..

    am i missing something? i appreciate any and all advice given.

    many thanks!!

     

     

    Because the two figures are not absolutely perfectly lined up, there is little distortion generated by the projection. This is one of the results of that.

    Any morph, even those that should not affect the shoulders, ends up picking up this distortion. In this picture, G3 is Blue, G8 is White. You can see the points where they line up poorly. the tutorial methods tend to carry a little bit of this along with any morph.

     

    fyi

    The way to fix this sort of issue is to create a "default deformation" morph. I haven't run the script but I assume this could be done by transferring an empty morph. The result will be a morph representing only the unwanted deformation. Dial it backwards as needed to correct transferred morphs.

    Oh, this doesn't happen with the script. The script does a point to point translation of the deltas. So morphs don't pick up any distortion that is not fundamental to the differences between the models.

    The only known issues are the the G8 geometry at the back of the eyes gets a bit wonky, but no so much that you'd ever notice, and the arms might look a bit bent with some exteme shapes. That's down to the way the A and T poses handle the shoulder shape. I can't think of any way to automatically correct for that. But you won't see the shoudler rise or anything. Just that arms look a tad odd in the A rest pose.

    It doesn't otherwise seem to impact the figure, with most actual poses looking fine.

    The issues I was highlighting are results of doing the tutorial transfer methods, and can be fixed if you have patience and a modeling program.

     

  • hi ok i am having one issue and forgive me if the solution was posted in earlier posts .... its alot to take in ... (i'm a bit slow when learning new things .. takes me a bit LOL) ..

    i followed the tutorial to the letter .... and when i make the morph transfer, G8's shoulders still move up a bit and even after doing the adjust rigging to shape and ERC freeze and save as morph asset and head apply and all that ... it still does it ..

    am i missing something? i appreciate any and all advice given.

    many thanks!!

     

     

    Because the two figures are not absolutely perfectly lined up, there is little distortion generated by the projection. This is one of the results of that.

    Any morph, even those that should not affect the shoulders, ends up picking up this distortion. In this picture, G3 is Blue, G8 is White. You can see the points where they line up poorly. the tutorial methods tend to carry a little bit of this along with any morph.

     

    fyi

    The way to fix this sort of issue is to create a "default deformation" morph. I haven't run the script but I assume this could be done by transferring an empty morph. The result will be a morph representing only the unwanted deformation. Dial it backwards as needed to correct transferred morphs.

    Oh, this doesn't happen with the script. The script does a point to point translation of the deltas. So morphs don't pick up any distortion that is not fundamental to the differences between the models.

    Ohkay I mistook the method, didn't realize they were using the transfer utility.

  • mikekmikek Posts: 170
    Redz said:
     

    Once I excluded my other libraries from my content manager, the morph transfers worked flawlessly. I really hope you can refine and package this as a product for both the males and females so you can recoup your efforts. 

    I seem to have a somewhat similar problem. Some morphs transfer without issues while others output the morph directory and name but then write "Processed 0 files". On booth of my computer its the same. To fix it did you just remove the additional base directories in daz and are you using now the original base directory? I tried to remove every directory except for one but still receive the same "Processed 0 files".

  • mikek said:
    Redz said:
     

    Once I excluded my other libraries from my content manager, the morph transfers worked flawlessly. I really hope you can refine and package this as a product for both the males and females so you can recoup your efforts. 

    I seem to have a somewhat similar problem. Some morphs transfer without issues while others output the morph directory and name but then write "Processed 0 files". On booth of my computer its the same. To fix it did you just remove the additional base directories in daz and are you using now the original base directory? I tried to remove every directory except for one but still receive the same "Processed 0 files".

    That solution almost certainly won't work now. The script is updated. Please state the name of the morph you are attempting to transfer and what directory it is stated to be in.

  • mikekmikek Posts: 170
    edited August 2017

    That solution almost certainly won't work now. The script is updated. Please state the name of the morph you are attempting to transfer and what directory it is stated to be in.

    It's the rawart massive morph. When I run the script it outputs the correct location: 

    Executing Script...
    D:/Program Files/Daz Content Using
    ***FOUND:
    D:/Program Files/Daz Content Using/data/DAZ 3D/Genesis 3/Female/Morphs/RawArt/Massive-G3F/Raw_G3FMassive_LD.dsf
    C:/Users/mike/Documents/DAZ 3D/Studio/My Daz Connect Library
    In C:/Users/mike/Documents/DAZ 3D/Studio/My Daz Connect Library/data/DAZ 3D/Genesis 3/Female/Morphs/: Processed 0 files.
    Result:
    Script executed in 0 secs 847 msecs.
     

    DS lists now only one base directory as I have removed the other ones. I also tried to reinstall DS on one PC and moving the content to a folder in C but its the same result. 

    Post edited by mikek on
  • This was caused by a duplicated instruction in the script. It's been fixed.

  • mikekmikek Posts: 170

    This was caused by a duplicated instruction in the script. It's been fixed.

    I'm using the ERC5 file which lists as v0.02.4beta - 2017.08.16. Is there a newer version? Daz Studio is 4.9.4.122 and on my second PC where I get the same result its 4.9.4.117. What I wasn't able to test yet is a complete clean installation on a PC where DS has never been installed. As after reinstalling DS it did link the old content folder which is on D so DS seems to keep some data somewhere even when uninstalling everything. As it works for the others here I suspect there is something wrong with the installation of DS or there must be at least something different with my two installations.

  • I did not change the version numbers. Then current file on the thread is the fixed version.

  • mikekmikek Posts: 170

    I did not change the version numbers. Then current file on the thread is the fixed version.

    The current one produces the same result for me with "Processed 0 files".

  • SB do you have a donation link anywhere? I got a chance to transfer some morphs and I would have paid for this script; it's a $20-30 product easily. :\

  • mikek said:

    I did not change the version numbers. Then current file on the thread is the fixed version.

    The current one produces the same result for me with "Processed 0 files".

    If it is producing the exact same output as your last post, then you haven't updated the script. The line after found shows where the file is. The next lines are your Daz Connect library, which is where the script was working. That was caused by a duplicate statement, which resulted in the script grabing the connect library path and overwriting the actual file path. The corrected script, even if it's now broken differently, should generate different output. Please add the full output to further error reports, because otherwise, I'm just guessing and have to ask questions like this.

     

    SB do you have a donation link anywhere? I got a chance to transfer some morphs and I would have paid for this script; it's a $20-30 product easily. :\

    Nah, it's cool. Maybe it will be worth gratitude donations when I'm not having to chase down bugs like the above. For now, though, it's clearly not ready for prime time.

  • mikekmikek Posts: 170

    If it is producing the exact same output as your last post, then you haven't updated the script. The line after found shows where the file is. The next lines are your Daz Connect library, which is where the script was working. That was caused by a duplicate statement, which resulted in the script grabing the connect library path and overwriting the actual file path. The corrected script, even if it's now broken differently, should generate different output. Please add the full output to further error reports, because otherwise, I'm just guessing and have to ask questions like this.

    Ok, I'm not sure why it still lists the connect library. I have downloaded the script again and this is the current output:

    Executing Script...
    D:/Program Files/Daz Content Using
    ***FOUND:
    D:/Program Files/Daz Content Using/data/DAZ 3D/Genesis 3/Female/Morphs/RawArt/Massive-G3F/Raw_G3FMassive_LD.dsf
    C:/Users/mike/Documents/DAZ 3D/Studio/My Daz Connect Library
    In C:/Users/mike/Documents/DAZ 3D/Studio/My Daz Connect Library/data/DAZ 3D/Genesis 3/Female/Morphs/: Processed 0 files.
    Result:
    Script executed in 0 secs 783 msecs.
  • Are you running the same session of Studio, or have your closed and reloaded it?

Sign In or Register to comment.