Morphs from G3 to G8

1272830323370

Comments

  • ALLIEKATBLUEALLIEKATBLUE Posts: 2,779

    I'm working on a version of Redz transfer setup for Genesis 8 Female just in case the script won't work on Genesis 8 Male

    @GRFK DSGN Unlimited, any luck on your version of Redz transfer setup?  I prefer the tutorial because it has worked for me quite well for the female. 

  • So far it's working. Minor issue in the shoulders, but adjust rigging to shape fixes that. Other than that there might be some distortion in the eyes and teeth depending on the morph but you edit that with the geometry editor.

  • barbult said:

    Is the Singular Blues G3F to G8F script supposed to be working on content installed with Daz Connect now? The file history made me thing so. I tried it tonight for the first time and it failed.

    I loaded G3F and selected her. In the Parameters pane I found Kerry Body and marked the heart as a favorite. Kerry was installed with Daz Connect. Then I ran the script. Almost immediately I got an error message that said "An error occurred while reading the file, see the log file for more details." This was in the log.

    2017-08-29 23:30:33.050 Loading script: D:/DAZ 3D/Studio/My DIM Library/Scripts/From Forum/G3 to G8 Script Morph Transfer/G3F to G8F Morph Transfer.dsa
    2017-08-29 23:30:33.190 DEBUG: Owner: FBMKerry
    2017-08-29 23:30:33.253 DEBUG: D:/DAZ 3D/Studio/My DIM Library
    2017-08-29 23:30:33.315 DEBUG: D:/DAZ 3D/Studio/vMaterials for DazStudio 1.4
    2017-08-29 23:30:33.315 DEBUG: D:/DAZ 3D/Studio/Daz Connect Data
    2017-08-29 23:30:33.347 WARNING: Script Error: Line 24010
    2017-08-29 23:30:33.347 WARNING: ReferenceError: Can't find variable: sTargetPath
    2017-08-29 23:30:33.347 WARNING: Stack Trace:
        <anonymous>()@D:/DAZ 3D/Studio/My DIM Library/Scripts/From Forum/G3 to G8 Script Morph Transfer/G3F to G8F Morph Transfer.dsa:24010
    2017-08-29 23:30:33.362 Error in script execution: D:/DAZ 3D/Studio/My DIM Library/Scripts/From Forum/G3 to G8 Script Morph Transfer/G3F to G8F Morph Transfer.dsa

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

    Edit: This is where the Kerry morphs are installed in Daz Connect:

    D:\DAZ 3D\Studio\Daz Connect Data\data\cloud\1_38573\data\daz 3d\genesis 3\female\morphs\raiya\kerry

    The script is attempting to print a varible before it exists. I'll fix it soon.

  • G8M script is up.

  • greysgreys Posts: 335

    G8M script is up.

    :DDDD

    Thanks Blues!

  • marth_emarth_e Posts: 118

    Wow, thank you very much for all your hard work, Singular Blues. Really appreciate it. Downloading right now...

     

    Martha

  • G8M script is up.

    Where?

  • greysgreys Posts: 335

    G8M script is up.

    Where?

    In their original post with the G3F script, it's linked in their signature.

    Here you go. :)

  • vwranglervwrangler Posts: 4,436
    edited August 2017

    Trying out the G3M script now. One thing to note is that if you transferred a lot of morphs via GenX2 to G3M, the script can take a while. How long, I do not know, for it is still running. It's parsing the DXD GenX directories alphabetically, and after what Studio is reporting as 6 minutes 10 seconds, it's up to the letter B and says it's 3% complete. Since the morph I want to transfer actually is in those directories, it's going to take a while.

    Some of the DXD GenX subdirectories, it just sprints through, and some take forever, even though it's not doing anything with them. It just now sprinted from 3% complete to 17% complete in a couple seconds, then took about two minutes to chug through the next 1%.

    Apologies if this has been asked and answered, but this is a lengthy thread! Is the script building some sort of database on first run so that it doesn't need to do this same sort of parsing again, or will it need to do this sort of work every time? (I am not complaining, believe me! I've done the method that's more or less the Redz tutorial, and I'm kind of terrible at it, so if I have to wait a long time for transfers, that's fine. It does mean I'll likely be fairly judicious about which things I choose to transfer, but I am absolutely thrilled not to have to do all those steps myself.)

    EDIT: And it took a full hour to run through all the directories. But it also pulled over the shapes on which the morph depended, which I wasn't expecting; I was doing the GenX'd head morph for Rob Elite M4, and it pulled Michael 4 along for the ride. That said, his fingers are very long if I dial in the Michael 4 body shape. If I dial out Michael 4, his fingers return to normal....ish; the nail beds seem to show the underlayer breaking through a bit.

    EDIT 2: ... OK, so it turns out that, I guess because the particular version of Rob that I was pulling over had come from Genesis 2 Male, the script somehow pulled over ALL of the Genesis 2 Males that were in G3M. This includes both the GenX ones, and the shapes that Slosh created as part of his Legacy shapes product.

    It also appears to have pulled over the original flavor Genesis 1 males that were I'd upconverted, but there were only 2.

    I favorited the Rob morph only; I've no idea what made all the others come along.

    Weirdly, as far as I can tell at this point, Michael 4 -- which is also the Sloshworks Legacy shape version and not the GenX clone -- is the only shape that's making the hands go weird when it's dialed in.

    This is strangely convenient ... but what on earth happened?

    Post edited by vwrangler on
  • barbultbarbult Posts: 17,296
    edited August 2017
    barbult said:

    Is the Singular Blues G3F to G8F script supposed to be working on content installed with Daz Connect now? The file history made me thing so. I tried it tonight for the first time and it failed.

    I loaded G3F and selected her. In the Parameters pane I found Kerry Body and marked the heart as a favorite. Kerry was installed with Daz Connect. Then I ran the script. Almost immediately I got an error message that said "An error occurred while reading the file, see the log file for more details." This was in the log.

    2017-08-29 23:30:33.050 Loading script: D:/DAZ 3D/Studio/My DIM Library/Scripts/From Forum/G3 to G8 Script Morph Transfer/G3F to G8F Morph Transfer.dsa
    2017-08-29 23:30:33.190 DEBUG: Owner: FBMKerry
    2017-08-29 23:30:33.253 DEBUG: D:/DAZ 3D/Studio/My DIM Library
    2017-08-29 23:30:33.315 DEBUG: D:/DAZ 3D/Studio/vMaterials for DazStudio 1.4
    2017-08-29 23:30:33.315 DEBUG: D:/DAZ 3D/Studio/Daz Connect Data
    2017-08-29 23:30:33.347 WARNING: Script Error: Line 24010
    2017-08-29 23:30:33.347 WARNING: ReferenceError: Can't find variable: sTargetPath
    2017-08-29 23:30:33.347 WARNING: Stack Trace:
        <anonymous>()@D:/DAZ 3D/Studio/My DIM Library/Scripts/From Forum/G3 to G8 Script Morph Transfer/G3F to G8F Morph Transfer.dsa:24010
    2017-08-29 23:30:33.362 Error in script execution: D:/DAZ 3D/Studio/My DIM Library/Scripts/From Forum/G3 to G8 Script Morph Transfer/G3F to G8F Morph Transfer.dsa

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

    Edit: This is where the Kerry morphs are installed in Daz Connect:

    D:\DAZ 3D\Studio\Daz Connect Data\data\cloud\1_38573\data\daz 3d\genesis 3\female\morphs\raiya\kerry

    The script is attempting to print a varible before it exists. I'll fix it soon.

    That is just a side effect of the real problem. At line 23944, sSearchPath is being constructed incorrectly for Daz Connect content. All content installed by Daz Connect is put in folders based on product SKU. For example, the morphs for the Kerry product are located in D:\DAZ 3D\Studio\Daz Connect Data\data\cloud\1_38573\data\daz 3d\genesis 3\female\morphs\raiya\kerry. The script is creating the sSearchPath as D:/DAZ 3D/Studio/Daz Connect Data/data/DAZ 3D/Genesis 3/Female/Morphs/, which doesn't exist.

    Edit: I should also add that users are not allowed to write data to the Daz Connect folders, so the script will need to store the output morphs in a different content library, not in the Daz Connect data folder.

    Post edited by barbult on
  • 3DRT3DRT Posts: 39

    After transferring some morphs when I reload G8M, I get an error message saying it's missing "data\daz 3d\genesis 3\male\genesis8male.dsf". Re-installing does not fix the problem. Temporary workaround is putting a copy of genesis8male.dsf into the G3M folder. Any idea why G8M is trying to load stuff from G3M's folder?

  • vwrangler said:

    This is strangely convenient ... but what on earth happened?

    There isn't really a reason to go through solving the issues just to move a morph. The other processes here do that just fine.

    The issue, then was "How to I find all the morphs connected to a package and transfer them. So far, the answer is "You don't." I might be too dumb, but I just could not do it.

    So, what I did was I got it so that the script takes that one morph youare instructed to mark favorite, and it finds out what folder it is in. It then scans the folder and subfolders for all the files. If the file ends in png, it copies it. If it ends in dsf it processes it, changing all the relevant data in the file to apply to G8.

    There may still be functions in it that aren't working right, but so far they've not beeing noticed. I will, of course, try to keep it updated as things progress. But the key point, at least as far as GenX goes, unless you have been giving GenX custom locations to save to, transfering a GenX'd morph will likely result in ALL of you morphs you added with GenX coming across.

    It's worth noting that GenX shapes usually have a helper shape of the base figure. Like a Genesis shape transfered to G3 needs the Genesis bas shape to look right. THis will apply to G8 as well, and GenX may or may not have placed those the shapes in the same folder as your transfered shapes. In your case, it sounds like it did, so that's why M4 came over. But for others, this is something to keep in mind.

  • vwranglervwrangler Posts: 4,436
    vwrangler said:

    This is strangely convenient ... but what on earth happened?

    So, what I did was I got it so that the script takes that one morph youare instructed to mark favorite, and it finds out what folder it is in. It then scans the folder and subfolders for all the files. If the file ends in png, it copies it. If it ends in dsf it processes it, changing all the relevant data in the file to apply to G8.

    Oh, OK. I misunderstood what the script was supposed to do.

    [...] It's worth noting that GenX shapes usually have a helper shape of the base figure. Like a Genesis shape transfered to G3 needs the Genesis bas shape to look right. THis will apply to G8 as well, and GenX may or may not have placed those the shapes in the same folder as your transfered shapes. In your case, it sounds like it did, so that's why M4 came over. But for others, this is something to keep in mind.

    Actually, it didn't, as far as M4 is concerned. The shape it pulled over -- and all of the G2M DAZ figure shapes, as far as I can tell -- were from Slosh's Legacy Shapes. (See below.) 

    Looking at the directory structure, the GenX shapes actually are in the top level of the DXD Gen X folder. As far as I can tell, it looks like your script doesn't parse above the directory it's concerned with, if you see what I mean. The shape I was asking it to move was in the Genesis 2 Male folder, so it pulled that entire folder over. For reasons that I don't know at the moment, copies of the Slosh shapes are in the DXD Gen X/Genesis 2 Male folder, which explains why they came along. (At a guess, a failed transfer or some such.) But the helper shapes that GenX requires definitely did not get pulled over. And I don't think I'll try that one right now, since it might well result in pulling the entire GenX tree structure along and, well, that's a lot. I had planned to be a bit more careful this time through, since I had enough morphs in G3M that his loading time got VERY slow.

    I was thinking of trying a couple of the actual DAZ shapes. That seems like it might make the script try to pull over the entire morphs folder; is that what would happen, do you know?

  • vwrangler said:
    vwrangler said:

    This is strangely convenient ... but what on earth happened?

    So, what I did was I got it so that the script takes that one morph youare instructed to mark favorite, and it finds out what folder it is in. It then scans the folder and subfolders for all the files. If the file ends in png, it copies it. If it ends in dsf it processes it, changing all the relevant data in the file to apply to G8.

    Oh, OK. I misunderstood what the script was supposed to do.

    [...] It's worth noting that GenX shapes usually have a helper shape of the base figure. Like a Genesis shape transfered to G3 needs the Genesis bas shape to look right. THis will apply to G8 as well, and GenX may or may not have placed those the shapes in the same folder as your transfered shapes. In your case, it sounds like it did, so that's why M4 came over. But for others, this is something to keep in mind.

    Actually, it didn't, as far as M4 is concerned. The shape it pulled over -- and all of the G2M DAZ figure shapes, as far as I can tell -- were from Slosh's Legacy Shapes. (See below.) 

    Looking at the directory structure, the GenX shapes actually are in the top level of the DXD Gen X folder. As far as I can tell, it looks like your script doesn't parse above the directory it's concerned with, if you see what I mean. The shape I was asking it to move was in the Genesis 2 Male folder, so it pulled that entire folder over. For reasons that I don't know at the moment, copies of the Slosh shapes are in the DXD Gen X/Genesis 2 Male folder, which explains why they came along. (At a guess, a failed transfer or some such.) But the helper shapes that GenX requires definitely did not get pulled over. And I don't think I'll try that one right now, since it might well result in pulling the entire GenX tree structure along and, well, that's a lot. I had planned to be a bit more careful this time through, since I had enough morphs in G3M that his loading time got VERY slow.

    I was thinking of trying a couple of the actual DAZ shapes. That seems like it might make the script try to pull over the entire morphs folder; is that what would happen, do you know?

    That behavior is a fairly accurate description.

    If you have:

    Folder
    	Subfolder
    		Morph.dsf
    		SubSubfolder

    The script will find that the morph is in Subfolder. It will then find all other files in Subfolder and SubSubfolder but not Folder.

    IIRC, Daz figures are in Morphs/Daz 3D/Product Name. As such, moving one the script will take anything under Product Name,  but not look above that at Daz 3D. So it should be perfectly safe.

    This does lead to one possible issue. Some Rendo vendors put stuff in the Vendor folder and also in product folders under it. So if you happen to choose a morph they they put in their vendor folder, while they have separate products in product folders, the script will move everything for that vendor. OTOH some vendors put morps in subfolders. Like "All MCMs in their own folder under the product." If you happen to chose one such MCM only that part of the product will transfer.

    Usually, the safest way to do this is to look for a root property. Like Victorias usually have a head morph, body morph, and a Victoria silder that controls both. The Victoria slider is the best target because that one is usually in the most effect place to get a proper transfer. Unfortunately, I can't think of a safe way to allow the script to account for the whims of the vendors.

  • RedzRedz Posts: 1,457

    Working great for me SB. Can't thank you enough for doing the male version too.

  • RedzRedz Posts: 1,457
    edited August 2017

    @Singular_Blues , I've encounted one minor issue, most noticeable with extreme morphs. There's a vertex on the lower right first incisor tooth that appears to be going wonky.

    Shown here on Toon Generations, Boogeyman and Dante 7 (more subtle) Hope this helps you troubleshoot.

    toon gen.png
    1000 x 1300 - 779K
    bogeyman.png
    1000 x 1300 - 725K
    dante.png
    1000 x 1300 - 1M
    vertex1.png
    1000 x 1300 - 423K
    vertex2.png
    1000 x 1300 - 435K
    Post edited by Redz on
  • Redz said:

    @Singular_Blues , I've encounted one minor issue, most noticeable with extreme morphs. There's a vertex on the lower right first incisor tooth that appears to be going wonky.

    Shown here on Toon Generations, Boogeyman and Dante 7 (more subtle) Hope this helps you troubleshoot.

    Must be mapped to nothing, based on that. 14709, 14711, or 14712 I think. I'll check it out.

  • Singular BluesSingular Blues Posts: 729
    edited August 2017

    Got it.

    The mapping script caught that one twice, so the delta is being translated, then over written by another. Updated.

    I thought it was just not moving, but at a guess, it was taking both sets of deltas. That, combined with the fact that the normal for the other vertex was pointed the opposite way might be making it move twice as far. Anyway, the corrected script should remove that.

    Post edited by Singular Blues on
  • ALLIEKATBLUEALLIEKATBLUE Posts: 2,779
    Redz said:

    Working great for me SB. Can't thank you enough for doing the male version too.

    Redz, will you be doing those Morph transfer helper poses for GM.  I'm talking about the files that had the G1 to G8 etc fixer poses.  I prefer the manual transfer process rather than running the script.  Don't wanna break anything.

  • RedzRedz Posts: 1,457

     

    Redz, will you be doing those Morph transfer helper poses for GM.  I'm talking about the files that had the G1 to G8 etc fixer poses.  I prefer the manual transfer process rather than running the script.  Don't wanna break anything.

    The poses should work just the same on the male as they do on the female Genesis figures. I'm finding SB's script so simple and time saving that I don't see any need to update the tutorial.

  • Serene NightSerene Night Posts: 16,925

    Thanks for the conversion tool. It works so well!

  • RedzRedz Posts: 1,457

    Got it.

    The mapping script caught that one twice, so the delta is being translated, then over written by another. Updated.

    I thought it was just not moving, but at a guess, it was taking both sets of deltas. That, combined with the fact that the normal for the other vertex was pointed the opposite way might be making it move twice as far. Anyway, the corrected script should remove that.

    Thanks SB. The update fixed the tooth issue :D 

  • AllenArtAllenArt Posts: 5,650

    Thanks so much SB....you're a gem :)

    Laurie

  • carrie58carrie58 Posts: 3,320
    edited August 2017

    OMG!! thank you so much for this script!

    Post edited by carrie58 on
  •  

    Step 1
    Load Genesis 8 male into scene (with NO eyelashes) and select.
    Go into PARAMETERS TAB and change the characters resolution level to ‘base’.
     

    OK, so I've gone through this whole process multiple times and some morphs it seems to work with and others it doesn't. Is anyone else running into this problem? If so, have they found a work around yet?

    Jason 

  • This worked perfectly on my first try!. Question, the instructions say select only one morph and mark as favorite.  I was assuming this to mean if converting a figure with separate head and body morphs, you would have to select either the head or the body.  So I selected the head.  To my pleasant surprise both the head and body were converted.  So what is meant by select only one morph?

  • Serene NightSerene Night Posts: 16,925
    edited September 2017

    It does seem to convert all associated files in the morph folder. So if for example I choose to convert a lip morph made in a set of 200 morphs, even though I select only that single lip morph, the script will convet the other morphs in the same set.

    I just selected one gen-x'd alien morph, and now the script appears to be converting my entire morphs folder. Wish I'd done that one first, I wouldn't have had to click each morph and convert the sets like I did last night.

     

    Post edited by Serene Night on
  • I never planned on making a general tool for converting single morphs. Rather I had a particular issue in mind when I started thinking of doing this.  That is, a good Body morph has a lot of helper morphs it needs. Most of those helpers should work fairly well with G8, because similar geometry. Some won't because A pose, but I'd guessed they would be rare.

    There might be dozens of such morphs, so the problem I was aiming to solve was "how to quickly transfer all of them." I had discuvered a way using the Transfer Utility, but it was tedious, still, in that you had to be able to find all of the morphs in parameters, and that's even harder than it sounds. I had hoped, then, to exploit the fact that Studio automatically know where all the morphs are, because they are conntected. All the helper morphs for Victoria are connected to Victoria so that they will turn on when, and to the same degree that, Victoria is activated. But it turns out that isn't clearly exposed in the API. I could get the system to admit THAT the connections existed, but not to ID the actualy property.

    The final solution was that I figured out how to reliable get Studio to return the file location of any one morph, regardless. Since a properly configured product will have that morph either in the root product folder or a sub folder, I had a way of finding all of the morphs associated with a particular product. This was actually an advantage. Because I might make a morph that has a controller that changes how a root element of the figure behaves, and trying to use the links to do the copy might lead to parts of G8 getting overwritten with G3 files. This way, only the files for that product will be copied. 

    However, there are downsides:
    First, not all vendors do things right. The latest Studio makes it much harder to do it wrong, but it's not impossible. I can't predict how all the files are stored so there may be some morphs that the script doesn't handle well. If it's anything major, I expect I'll hear about it. 

    Second, GenX pust everything in the same folder.
    You can actually tell it not do that, and make folders on a case by case basis. But it defaults to one folder. It might or might not make subfolders on the fly. Basically, if you use GenX defaults, the script will transfer all the GenX stuff it finds, which will probably be a lot.

    I will stay it is not impossible to make something that does a single morph, but I won't, for now. Largely because that would mean maintaining 4 scripts instead of two. If I ever learn how to add a UI control to script, I will revisit that, because then it can just be an option, rather than separate script. But my present goal is to make enough money that I can eat next week, so I'm not thinking too much about figuring out DzWidget. To the extent I am pondering changes, I'm thinking of how to merge the two scripts back down to one, reliably. I just need a figure detection loop. It's only the two file process loops that differ. Everything else is the same between them.

  • carrie58carrie58 Posts: 3,320

    SB I 've run into a glitch with the G3 To G8 male morph script ..... I had no issues with any of the stylized shapes or Toon shapes ,but when I started transfering Real World morphs like George  ,or Scott  then nothing is showing up

  • You'll have to be more specific. I can't make sense of nothing.

    Here's all I can say. Something happened. There two known failure modes. A) it seems like nothing happened. The script errored out because a condition was invalid. There will be data in Studio's log. B) An error message is actually displayed. It says to see the log for more details.

    After that, it's all partial failure modes, and in that case, the Progress Bar will be displayed.

    At the very least, I need some idea of what "nothing" is. There's 25 thousand lines of code, most of them instructions, so specificity counts.

Sign In or Register to comment.