Morphs & Genesis: On Coding Level; Workaround/Fix Found

DaremoK3DaremoK3 Posts: 798

Hi all...

This is not a request for help about how to create morphs, or even what avenues one may take to create them. I need help in line with the equivalent of CR2 coding, and placement of MT's within Genesis file structure itself. I guess this would be the DSON file structure.

I am well versed in the world of CR2's, and all the coding manipulation all the way through to Gen4 figures, but the new DSON/Genesis format is kicking my azz in regards to how some things work.


O.k., here goes... Ultimately I need to know exactly how does Genesis digest, and link created morph targets. I am experiencing some unwanted anomalies which may not even be that, but just illegal linkage due to my lack of understanding of Genesis' core code.

First, no, I do not need help with where in DS's file structure to place morphs, so please don't add links to amateur tutorials on how to do this. No need...

I am going to use millighost's great Genesis morphing suite for Blender as a for example.

The code structure for the created .dsf file is a little different from others (DAZ, FaceGen, etc.), but has all necessary code to create a viable morph target. As an aside; From what I see, all vertex displacement data is within the DSF file, so I can't fathom there is any "invisible" code linking to any hidden asset files anywhere. It seems the DSF morph target files are self contained.

So, the issue I am having has to do with both changing the morph target location within the DS/Genesis Parameters node tree (Universal, Head, Actor, etc.), and MT linking with Genesis failing, creating unusable null and void parameter sliders.

Millighost's .dsf exporter defaults to setting a morph target in Universal. Even if it is a compound MT based off a previously created MT which already had a dedicated parameter location. So, I edit the DSF file to relocate the MT where I want it on the node tree. This works fine, and is not the inherit issue.

O.k., here is where the issue starts, and my confusion on just how the MT's link to Genesis. Let's say I want to keep the created MT in the default "Universal" location, but I also want to add it to "Actor/Head/Universal". If I edit the code to reflect the new location, AND even give it a modified name (changed throughout the DSF file as well) it will null and void the first MT (Universal location). Even more so, if I decide I don't like the Universal location being null and void, and delete (or remove) the newly edited MT/location, this does not reinstate the first MT (Universal).

There are no longer two of the exact same MT's (with different names) stored in the DS file stucture, but it seems only the newer saved one is "live", and if I put it back into the DS file stucture it appears back in the morphs list, and works again. However, the original first morph remains dead. Now, if I re-save the original MT from Blender overwriting the first it reinstates that morph again, and null and voids the second edited one with a different name/location.

So, my underlying question is, why is this?

How is Genesis assessing, and linking to the individual morphs?

Is there some hidden data protocol that is overwritten each time you save a newer version of the same set of vertex displacement data regardless if identifiers have been changed? You can't have the exact same morph, yet named different; Head1, Head2, Head3, etc.

It's just not possible to have duplicate locations for the exact same mesh data (even with different names)? If so, why?

How exactly is Genesis linking these DSF morph files? The only difference I see in any of the DSF files I have studied (besides how an author created the structure) is in the "parent id" reference. It seems it could be either "#Genesis", or "#geometry" without any difference (they both work).

Any help from the masters would be greatly appreciated, and I'm sure this would be a good learning example for a lot of other people as well. I can't believe I am the only one who has encountered this, or is interested in knowing this for future work.

Thank you in advanced for your time, and any help you can give.


*EDIT: Testing done in DS Pro 4.5.0.114 (but I assume this relates to all DS4/Genesis versions).

Post edited by DaremoK3 on
«1

Comments

  • edited December 1969

    No answers, just adding my voice on this...because I've noticed the same anomalies and I was thinking it was something with Milghost's script, but now I'm not sure. Also, I'm having trouble with running the script since I updated to 4.5.0.114...it won't load a dsf from the new content, but if I go back to the old content, it loads them. It's coughing up some weird UTF encoding error in the python interpreter, but that may ultimately be something on my end, though.

  • DaremoK3DaremoK3 Posts: 798
    edited December 1969

    Lady Phoenix Fire Rose: (cool name)

    I had the same issue when trying to load Genesis DSF into Blender from 4.5.0.114 as opposed to 4.0.3.47, but not to fear, it is because the 4.5 series DSF's are compressed.

    You just need to set aside an uncompressed version, and all will be well again. I've been creating MT's for Genesis with DS4.5 and Blender now with no issues (other than the opening post issue) just like I was with DS4.

    I used Dimension3D's updated DSF Toolbox (updated to address this issue), but I believe it is possible to just "unzip" the compressed DSF file to an uncompressed one using a utility such as 7-Zip.

    I created a folder right next to the original (compressed) Genesis.dsf, and called it "Uncompressed Genesis For Blender MT's" and placed the uncompressed version in there.

    Blender has no problem with the mesh call, and DS has no problem, because it already finds the correct unaltered version.

    I hope this helps...

  • Richard HaseltineRichard Haseltine Posts: 95,997
    edited December 1969

    Are you changing both the id and the name, or only the name? The id has to be unique.Also, are you changing the settings under scene as well as under modifier_library?

  • mjc1016mjc1016 Posts: 15,001
    edited December 1969

    Actually...that's my daughter's name. She was checking something and DIDN'T LOG OUT!!!!!! I just started looking through the forums and never noticed I wasn't posting as me.

    SO...

    I'll check it out...otherwise, I'll need to drop the $20, because I prefer Blender over Hexagon...(yeah, call me weird...)

  • DaremoK3DaremoK3 Posts: 798
    edited December 1969

    Richard:

    Yes, I changed all identifiers throughout the entire file. All ID's match (including file name). That's what is so baffling. It should register as it's own MT, but somehow is linked to Genesis on a level that I can not see.


    mjc1016:

    You sly dog... Masquerading as a young lady to get compliments now, are you?

    I know you know what you are doing, so you should have no problem getting it to work.

    And, I agree with you in using Blender over Hex for MT's. I find myself using the Hex bridge less and less now since millighost updated his scripts to import MT's to build upon as well. Using Blender's sculpt tools is such a bonus.

  • mjc1016mjc1016 Posts: 15,001
    edited September 2012

    I've tried using Hexagon, really I have...but, then again I've been using Blender since 2003 (?)...the early days. It's only been recently that I feel like I've finally gotten the 'hang' of it, though.

    Two items that I've been using forever...Blender and GIMP. And I like both better than 'pay for' alternatives.

    Post edited by mjc1016 on
  • mjc1016mjc1016 Posts: 15,001
    edited December 1969

    Well, that's one problem down...figured out how to unzip a dsf file.

    Just use unzip in a console, and pipe the output to a txt file and rename it after it's done. Using a GUI version doesn't give that option, so it fails because it's trying to overwrite the file it's unzipping while unzipping it. Trying to send it to a different directory wasn't working, either.

  • DaremoK3DaremoK3 Posts: 798
    edited December 1969

    Glad you got it mjc1016. Sorry it was a little bit messy for you.

    I did a test with 7-Zip, and it was quick and easy. All I had to do was right-click on the Genesis file, and then click "unzip here". Quick and painless.

    O.k., D3D earned his money I spent on the DSF Toolbox today. I gave it a good workout, and was able to achieve some satisfactory results with some of the issues I am experiencing.

    I ultimately created my own master template to use for all future MT's, and used in conjunction with DSF Toolbox, I am getting usable MT's that are not null-ing out, or cross referencing unique ID's into one ID any longer.

    Genesis is respecting the unique ID's such as Head01, Head01a, Head01b, etc. even though they are all copies of the same file now.

    It seems the Blender script wasn't creating an asset file section, and I don't know exactly how important that is to the overall file, but I manually added one in my master template for solidarity. DSF Toolbox threw errors when I tried to load the assets page, and that clued me in to the situation to rectify it.

    Overall, I got the MT's working mostly as expected in 4.5.0.114, but there is still a little weirdness going on. My slider gradient values start off correctly when I first load DS after working on the files, but every subsequent restart of DS sets the last MT to a solid black slider. Most of my sliders are solid black now.


    Still interested in any insight from the DSON masters if you guys can muster it...

  • DaremoK3DaremoK3 Posts: 798
    edited December 1969

    Well...

    Back to square one.

    I was working all day trying to solve SickleYield's Mutations For Genesis morphs pack, and no matter what avenue I take they all end in failure with attributes of my opening post.

    I even wrecked some of my own morphs that I managed to get working before. Luckily, I believe in backing up the backups.

    I did discover that even the same DSF morph file saved in another location, and then hand transferred into the morphs folder ends in failure. If that is deleted, and the original backup restored, then it works again.

    So, it seems to have something to do with the exact "first" saving location. Just like everyone else, first time use of SickleYield's morphs works, but then fail on second launch to never work again. I couldn't use the methods I used above to get them working again.

    I surmise it has to do with the original save location (SickleYield's exact path), and, for some reason, the "access data" section inclusion.

    Even if I add the access data section, and go through the DSF Toolbox I still end up with a "temporary" fix that fails on subsequent morph fixing, or future launches.


    Still looking for help, and any insights anyone can give on the subject. Would be nice if everyone can start using some of the morph sets out there that were working just fine in Pro 4.0.

  • BejaymacBejaymac Posts: 1,833
    edited December 1969

    I get the feeling it's the file structure, or lack of, that's the problem, with 4.0 the file structure was still under development so you could get away with some right crap, with 4.5 the DSON format is pretty much nailed down so everything has to be done correctly, but what gets me is why they work at all let alone just the first time you load them.

    Safe to say your better off using MorphLoader and the CMS rather than the Blender script with 4.5

  • niccipbniccipb Posts: 483
    edited December 1969

    Hi...

    I agree with Bejaymac here. The .dsf file created by the Blender script has a flawed file structure and is incomplete. It may work if left alone, but any editing to it results in failures or bad behaviour.

    Adding any 'missing' sections may fix one issue but create new ones and even editing in DSF Toolbox does not fix the flawed structure, nor does re-saving the morph asset from within DS because, while it adds and reorganizes the .dsf to the correct formating, there are 'artifacts' left over from the Blender script generated .dsf and you still end up with errors. Even removing the 'artifacts' does not always fix the .dsf's problems.

    Out of curiousity I tested each of those methods to replicate the issues you have been experiencing and went over every line in the resulting .dsf files. Overkill I know, but I was curious... my conclusion is not to use the script with 4.5 or at all until it is updated to write the .dsf files to the correct DSON format

    Using MorphLoader and saving the Asset from within DS, generated a .dsf that was fully editable and could be saved under multiple names and work correctly in DS

    nicci... :)

  • DaremoK3DaremoK3 Posts: 798
    edited December 1969

    Bejaymac:

    I agree it has something to do with the file structure, but I disagree with having to use MorphLoader, as opposed to the Blender script (or even Hexagon/DS bridge). I prefer not having to deal with the sizing issues, but thank you for the suggestion. I will do some testing. Oh, and I am already using the CMS at all times, so that can not be included in the issues.

    I have already solved a viable workaround for all "my" custom MT's, or any future MT's using a combination of a custom hand edited DSF template and DSF Toolbox. Please read my post #8 above for details.

    However, some of the freebie morphs out there that I have downloaded (SickleYield's for example) refuse to work in 4.5, but work fine in 4.0. Even odder, some of the freebie morphs out there do work, such as SickleYield's conversion of DieTrying's 182 V4 morphs.

    I can not find any variables within the code to explain why, or why not. Also, since I can not apply my fix above to other people's MT's (all result in temporary fixes with subsequent failure) it leads me to believe it is more than just file structure itself, and might have to do with directory location of first saves.

    Example for testing; Select any "working" morph file, make a copy, and put it in a safe location (well away from the DS directory). Let's call the morph file "A", and is in the main DS Morphs directory in folder "Z". Let's say the safe place you put the copy of "A" is in a folder named "W".

    You now have the exact same two morph files. One located in the DS directory and can be read by DS, and one that isn't. Now, delete the one in the DS directory, and open up the backed up file in a text editor, or dedicated tool such as DSF Toolbox. Now, save that file to the DS directory folder "Z".

    Reopen DS/Refresh Genesis, and try that morph you selected for the exercise (if it even shows up now). How's that working?

    I get results from not available, to null and void, to works one time and the next morph fix null and voids it.


    If you just select your backup copy, and place it back into folder "Z" you will have a perfectly working morph again (if that is what you started with). It was not re-saved in any way, so is viewed as the original "first" saved version (even though a copy), and works.

    Another reason I believe it has something to do with DS viewing the file over included data is because of how I see my text editor respond to the same two files located in the two different folders in different locations. If I load the file from folder "Z", and then try to load a second instance of the file from folder "Z" it fails (It registers it as already loaded). However, if I load the exact same file from a different location (folder "W") it loads that exact same file.

    I believe DSPro 4.5 is somehow working like the text editor on some level viewing the morphs from location as opposed to data structure itself (or the only variable). If you re-save the first file from folder "Z" back into folder "Z" it works, but if you save the other exact same data structure file loaded from folder "W" it fails. It can't be anomalies in the data file itself when they are identical. There has to be an outside factor that we are not privy to, or is somehow an introduced bug with 4.5 that needs to be explored by the coding team.

  • DaremoK3DaremoK3 Posts: 798
    edited December 1969

    niccipb:

    You posted when I was writing...

    Insightful, but I respectfully disagree.

    I am not some newb, opening a file for the first time. I have been hacking Poser/DS code since Nerd, and rbtwhiz (Rob Whisenant) first unleashed their findings in Poserverse.

    I do read every line of code, and I do not view it as overkill, but being thorough.

    In other words, I do know what I am doing with the information at hand.

    My template is clean. There are no "left over" artifacts. I know how to identify them, and made any necessary corrections.


    I agree with you that the Blender script needs work, and the resulting code is not optimum (even though it does work), but you must have missed my entire post where I stated I use a combination of "three" things to create a clean and working DSF file (to original DAZ coder's standard).

    I disagree with your assessment of the DSF Toolbox. Yes, it does introduce the artifacts because of how the Blender code is written (easy to rectify), but it does (and the most important thing in my eyes) restructure the vertex data/deltas to the correct DSON formatting.


    I'm not making morphs for anyone else, so I have nothing to worry about, but I would like to correct the morph files in all the packs I have downloaded.

    "Using MorphLoader and saving the Asset from within DS, generated a .dsf that was fully editable and could be saved under multiple names and work correctly in DS"

    Could you please elaborate on this workflow. Maybe it will yield the results I need, and possibly what the other content creators (releasing MT's) need to know (like SickleYield).

  • BejaymacBejaymac Posts: 1,833
    edited December 1969

    I've been working on other issues for some of my friends, so fortunately I've got my beta tester head on.

    The Blender script is adding garbage to the file, and because DS4.5 doesn't recognise the garbage it stops processing the file after it's first load. The morphs work after the garbage is deleted, but because these aren't proper DSON files I wouldn't be surprised if they break again in the not to distant future.

    In the attached pic the section "highlighted" in gray is the garbage that's stopping SickleYield's morphs from "working", I don't have any of yours to check, but as you both used that script it's odds on that you have the same garbage in your files.

    TBH there really is only one way to make sure that your custom content for Genesis will work, and that is to save it into the DSON dsf files inside DS4, 3rdparty scripts will always be flaky.

    crap.jpg
    269 x 206 - 63K
  • niccipbniccipb Posts: 483
    edited December 1969

    Hi...

    Please don't misunderstand my meaning. I wasn't in any way assuming or inferring that you didn't know what you are doing.

    I was referring to my own overkill in reading every line of the code which included side by side comparisons of the vertex delta lines. My eyes were killing me after that.

    I was and am very interested in trying to understand why the Blender script when edited and any edited versions of it, do not always work as intended, if at all. I was a very regular user of it until 4.5 and I started to notice some problems.

    I did read all of your posts and followed the same steps that you listed and had the same errors. I do agree with you that the DSF Toolbox does create the right formatting and there are artifacts. And as I said, even re-saving the .dsf from DS creates the correct DSON formatting, but with artifacts.

    But what I have found in my testing of any file made from the Blender script that I edit through any method, still will fail or error in some way. Even when starting with a clean template. But it can be hit or miss, or even very minor.

    As for using Morphloader... It is just the standard method for import of morphs from an outside modeler that I use ( and I do use Blender as my modeler ). After setting my parameter settings I save the morph asset from DS.

    I can then open the .dsf morph file in my text editor (PSPad) and change groups, names, whatever and resave or rename as a new morph and it loads in DS with no errors.

    I do hope that Millighost updates the script to the final DSON standard and adds some additional features, because it is a handy tool to have.

    nicci... :)

  • mjc1016mjc1016 Posts: 15,001
    edited October 2012

    I wonder...

    Does the file version the script writes matter and how about this...

    This is the header info from the 'Basic Male'...

    {
    "file_version" : "0.6.0.0",
    "asset_info" : {
    "id" : "",
    "type" : "modifier",
    "contributor" : {
    "author" : "",
    "email" : "",
    "website" : ""
    },
    "revision" : "",
    "modified" : ""
    },
    "modifier_library" : [

    This is the same section from a script produced file...
    {
    "units": {
    "length": 100,
    "angle": "degrees",
    "time": 4800
    },
    "file_version": "1.0",
    "scene": {
    "modifiers": [
    {
    "url": "",
    "id": ""
    }
    ]
    },
    "pedigree": [],
    "modifier_library": [

    Notice that the script makes, what I'm assuming it type, 'scene' as opposed to 'modifer'...

    Since I'm hacking the script, I'll see if I can get it to output the data that matches the Basic Male..

    (some where, something I'm doing is breaking the script...still looking...damn syntax errors...left out a comma)

    Post edited by mjc1016 on
  • DaremoK3DaremoK3 Posts: 798
    edited October 2012

    Bejaymac:

    I do appreciate you trying to help, but, seriously (said in Cartman's voice), did you even read my posts in their entirety?

    I am well aware of all the garbage, and the restructured garbage/artifacts if re-saving these files even if I add anything to them (asset data section).

    As I stated before, I am not doing this. I am using a clean DAZ/Morph Assets structured template, and replacing correct identifiers, deltas, and etc.

    These files still refuse to work even though they are identical to official DAZ morph DSF files. Please see DSF file listed below, and tell me if you can see anything wrong in it. If you do find something, I will cross reference it with the donor DSF to show that working one is structured identical.


    niccipb:

    No worries. I see a lot of people assuming things without even trying to assess the facts. I do appreciate your input, and you did give me another avenue to try.

    I already use Morph Loader Pro, and Morph Assets in DS, but I just prefer the Hex bridge, or the Blender script.

    I created a new DSF template by way of using this method just for the sake of 4.5 compatibility. My original was based from one of DAZ's DSF file itself. I saw no differences, but to exhaust all avenues I gave it a go.

    It failed just the same. Creates a null and void parameter dial.

    Here is the DSF file with deltas removed for ownership: (MOD's; I hope it is o.k. to post the base code. If not, please forgive me, and rectify as you see fit.)

    DSF morph file:
    *******************************************************************************************************************************************

    {
    "file_version" : "0.6.0.0",
    "asset_info" : {
    "id" : "/data/DAZ 3D/Genesis/Base/Morphs/Mutations/TwoToedFeet.dsf",
    "type" : "modifier",
    "contributor" : {
    "author" : "",
    "email" : "",
    "website" : ""
    },
    "revision" : "0.0",
    "modified" : "2012-10-03T01:09:20Z"
    },
    "modifier_library" : [
    {
    "id" : "TwoToedFeet",
    "name" : "TwoToedFeet",
    "parent" : "/data/DAZ 3D/Genesis/Base/Genesis.dsf#geometry",
    "presentation" : {
    "type" : "Modifier/Shape",
    "label" : "",
    "description" : "",
    "icon_large" : "",
    "colors" : [ [ 0.3529412, 0.3529412, 0.3529412 ], [ 1, 1, 1 ] ]
    },
    "channel" : {
    "id" : "value",
    "type" : "float",
    "name" : "Value",
    "label" : "TwoToedFeet",
    "auto_follow" : true,
    "value" : 0,
    "current_value" : 0,
    "min" : -1,
    "max" : 1,
    "clamped" : true,
    "display_as_percent" : true,
    "step_size" : 0.01
    },
    "group" : "/Mutations",
    "morph" : {
    "vertex_count" : 19296,
    "deltas" : {
    "count" : 2092,
    "values" : [
    [ 0, 0.0000000, 0.0000000, 0.0000000 ],
    [ 0, 0.0000000, 0.0000000, 0.0000000 ],
    ***OMITTED***
    [ 0, 0.0000000, 0.0000000, 0.0000000 ]
    ]
    }
    }
    }
    ],
    "scene" : {
    "modifiers" : [
    {
    "id" : "TwoToedFeet-1",
    "url" : "#TwoToedFeet"
    }
    ]
    }
    }

    ********************************************************************************************************************************************

    Mind you, the deltas are fictitious and omitted, but the identifiers are legitimate.


    *EDIT: Forum skews the proper structure, but it is there. I should have just uploaded a pic.

    Post edited by DaremoK3 on
  • DaremoK3DaremoK3 Posts: 798
    edited October 2012

    mjc:

    Yeah, the Blender script output is severely flawed, but both of those were not an issue in 4.0. I edit them out completely by using a DAZ structured DSON file, and replace all necessary data.

    It should work, but it does not. Makes me sad...


    *EDIT: Oh, and the "scene" attribute is in the DSF files. millighost just heavily restructured where things are located throughout the file. Besides not having an asset data section, they did work in 4.0, and some even work in 4.5.

    Post edited by DaremoK3 on
  • niccipbniccipb Posts: 483
    edited December 1969

    Hi...

    Well I just got home from work with an idea I wanted to try, but wouldn't you know it, now the Blender script won't even work in Blender... :roll: and I just used it the other day too...

    I'm glad we're all good, I know how 'online' conversations can be miss-understood sometimes. I've actually learned quite allot from posts you've made in the past and applaud your efforts in problems like these.

    anyway, yeah I tried that to with a DS generated .dsf and copied over only the vertex info organized in the correct format, it worked then failed or failed altogether. Even just opening the original .dsf in my editor and looking at it and then re-saving it would cause erratic failures. Very strange.

    As a side note, yesterday I found that in Blender, the script completely messed up my ability to use the 'join as shapes' in the Shape keys. It rotates my joined shape key along the x-axis and turns it the wrong way. And these are on completely new meshes.

    Another thing I noticed in the python console when the script failed for me tonight, was that the code was referring to JSON file types. I'm going to look over the JSON docs and see if I can find anything relevant and I'm even going to try looking over the python files for the script if I can.

    nicci... :)

  • mjc1016mjc1016 Posts: 15,001
    edited December 1969

    niccipb said:
    Hi...

    Well I just got home from work with an idea I wanted to try, but wouldn't you know it, now the Blender script won't even work in Blender... :roll: and I just used it the other day too...

    Another thing I noticed in the python console when the script failed for me tonight, was that the code was referring to JSON file types. I'm going to look over the JSON docs and see if I can find anything relevant and I'm even going to try looking over the python files for the script if I can.

    nicci... :)

    You tried to open a compressed dsf...see my earlier posts, DaremoK3 explained it to me. The script chokes on them...if my coding was up to it, I'd try adding the ability to read the compressed file. One thing I love about working in Linux...I don't have to worry about editing them, as the text editor I use handles compressed files without a problem.

    Dare...

    Yeah, basically, it's looking like the export script needs to be rewritten from the ground up.

    One of the potential problems I'm seeing is that the script doesn't allow for writing the location info to provide that id in the DS generated dsf file.

    Overall, there are a number of advantages to using Blender...not the least of which is the ability to use Blender's built in sculpting, which is at least as powerful as Sculptris if not close to Zbrush.

    Something I've been wondering, for a while, since going this route involves using a shape key to make the morph are we still limited to the 'original' vertex count like we are with an obj export? I mean can we use a subdivision modifier in Blender and still have a usable morph? (something I may experiment with, if we can figure out the original problem)

  • niccipbniccipb Posts: 483
    edited December 1969

    Hi...mjc

    Unfortunately that's not the problem as I did un-compress the .dsf first and checked by opening in PSPad....

    Use the 'multires' modifier and then add a level or two then go to Sculpt. At any time you can reduce the levels to see how the base mesh is looking. When your done, don't Apply the modifier but use the 'Apply Base' button in the modifier window. That will apply the changes to the base mesh or the shape key. Then just delete the modifier when done or create a new key from the base and do it again.

    I can't wait for the 2.64 release and the new tools that have been added to sculpting among the other new tools like the 'Skin' modifier... :-)

    nicci... :)

  • DaremoK3DaremoK3 Posts: 798
    edited October 2012

    Interesting...

    nicci:

    I am unfamiliar with the ‘join as shapes’ in the Shape Keys. What is this exactly, and what is it used for? I only use the Shape Keys for straight in and out MT's for Genesis. I haven't ventured out any further than that.


    mjc:

    I don't think nicci is having that issue. I think he/she is using uncompressed, but possibly experiencing a compound axis rotation set in the vertex deltas. Not sure, because I haven't experienced this in Blender, but I did have this problem when I was working on a morph in Hex, and did not notice the object I was morphing was not loaded in at default. It had a -90.00 X axis rotation which compounded my morph to a remarkable explosion (because it was a multiple part object).

    As far as using a sub-d, or mesh smooth modifier, as we all know here, vertex ordering is king in accomplishing a viable MT. But, you bring up a good point for something to try. I don't have Z-Brush, but I have read that some people add sub-d modifiers to complete the morph how they think Genesis' higher level will look. They just don't apply the higher level, and export the base (correct vertex count) version for the MT.

    Theoretically, Blender's modifiers work similar, if not the same, so I would think we could apply a sub-d modifier to help with the sculpting in Blender, but as long as we do not apply the modifier we should be able to export the same base vertex deltas. I'm going to give it a try later. Let me know how your experiment went.


    On a side note:

    I contacted SickleYield about her Mutations morphs to see if she was able to solve it. She contacted me back, and with an update/fixed version of the morphs pack. I am going to check them to see if they will keep working, and is a permanent solution.

    She said it has something to do with re-saving the morphs to Genesis in the library, because DS 4.5 is overwriting the .dsf files, and then using the newly saved .dsf morph files. I'm going to try this with other broken morphs I have downloaded from other people.

    She re-zipped the new ones, and are available here if anyone wants them:

    http://www.sharecg.com/v/57901/gallery/21/DAZ-Studio/SickleYields-Mutations-For-Genesis


    *EDIT: nicci, I just saw you posted when I was writing... I meant "multires", and not "mesh-smooth" (ahhh, brainfart...)

    Post edited by DaremoK3 on
  • DaremoK3DaremoK3 Posts: 798
    edited December 1969

    Thank you nicci for the definitive way of use of the multi-res workflow in Blender. I've been afraid to try anything like that, but I will employ it for now on when I am sculpting some morphs. Great information to know. Thanks again.

    I am also excited about the 2.64 release (been using current RC2). Blender just keeps getting better, and better. I love the concept of the Skin Modifier, but haven't set any time away to play with it yet. I have a project in mind I want to try with it, an Asian Dragon. I haven't decided if I am going for a Chinese, or a Japanese version though...

  • niccipbniccipb Posts: 483
    edited October 2012

    Hi...

    The 'join as shapes' is one of the options in the drop-down menu in the shape keys panel, the little arrow below the plus and minus buttons. What it does is it will allow you to create a new key by joining to different shapes of the same mesh. Just like using the shapes on Genesis in DS.

    So for example, I import in the base Genesis figure and create a basis key. Then I import in a morphed Genesis, like Gorilla, select it and then also select the base Genesis in the viewport or outliner and then use the 'join as shapes'. A new key is added, delete the morphed Genesis from the scene and then dial the new key and the base morphs to the 'morphed' Genesis.

    I believe I know what the rotation problem is. Since the Blender script doesn't adjust the axis rotation on loading a Genesis figure and now creates new keys for you, I believe it has somehow taken over the rotation of any meshes that I make using blenders default axis' turning everything to 'lying ' on the floor when I use the join shapes feature.

    The sub-division and multi-resolution modifiers used by Blender are the same as the one used by DS, so yes you can use them to 'preview' your work. Just don't accidentally apply them.

    The multi-resolution modifier is the one you want to use for sculpting as it has the option to apply your sculpt to the base. The Sub-Division modifier does not have that ability and won't work for sculpting but is the one you want to use in Edit mode for direct vertex modelling of morphs.

    That's good news from SickleYield, I'm very curious as to what her fix was...

    Oh...almost forgot, I de-activated the script, closed Blender, re-opened and re-activated and it worked again... go figure...

    nicci... :)

    ETA:

    *EDIT: nicci, I just saw you posted when I was writing… I meant “multires”, and not “mesh-smooth” (ahhh, brainfart…)

    I saw that... :lol: but I knew what you meant... ;-)

    The 'Smoothing' modifier is a different animal all together which can yield some interesting results sometimes... %-P

    Post edited by niccipb on
  • mjc1016mjc1016 Posts: 15,001
    edited October 2012

    Yeah, I noticed that 4.5 saves a compressed dsf, overwriting the original.

    I've got several morphs I'm nearly finished with that I want to distribute, but until I can be sure of getting them to work properly, all the time, I'm going to hold off on them a little longer.

    Is Windows still set up to use ISO 8859 character encoding by default?

    I don't have the problem of opening/saving in my text editor, but I have my system set up to UTF8 for default coding, and I think the default coding that the DAZ files have is also UTF8...so I'm wondering if there is something in the saving to another encoding is messing things up.

    Post edited by mjc1016 on
  • niccipbniccipb Posts: 483
    edited December 1969

    Hi mjc...

    You know, I didn't even think of that... I checked the settings in PSPad and sure enough it was defaulted to ISO 8859 in the formats and the settings had UTF-8 un-checked. So I switched the settings and the formatting to UTF-8

    I'll give it a try and see what happens... I'm crossing my fingers

    Thanks... nicci... :)

  • DaremoK3DaremoK3 Posts: 798
    edited October 2012

    *EDIT:
    ***Please disregard this post regarding saving of Genesis. Information is incorrect. Do not follow if you are trying to get broken morphs working again. For a working mini-tut, please see post#31 at top of Page 3***


    *Original Post; Left for Posterity:
    O.k., I'm back...

    I tested SickleYield's fixed MT's and they are working perfectly. Her trick does seem to do the trick, and yes, mjc, they were compressed. I uncompressed them to look at the code, and they were identical to my hand created version except for adding the "region/Actor" attribute which I almost added in myself, but was using a Morph Assets DSF file created by DS that went through Morph Loader Pro. I thought if DS didn't bother with it I wouldn't either. I still find it odd that re-saving Genesis seems to be the fix.

    I'm not sure if saving as compressed does the trick, but she saved as compressed. I did the same, and It yields a new default Genesis that is compressed like the original, but compresses all the uncompressed morph DSF files as well (which I was unaware would happen).

    But, whatever you do, do not make the mistake that I just made...

    It seems to not like the formatting from the Blender script so much that it completely omitted all vertex data in all those DSF files it converts. I'm going to re-download those files, and then run my original fix on all of them before I try the re-save trick.

    SickleYield either compressed her files first which protected the vertex data (maybe? - don't know), or she would have had to restructured the vertex data before she ran the fix. Or, I am just way off base in understanding what I think she did.

    What I did (and believe she was talking about) was re-saved Genesis to the "People" folder completely overwriting the original (but backed up) using "Assets/Figures & Props" (seemed the logical choice). I left all the save attributes to default, including save as compressed.

    I will run another save again tomorrow after I fix the other files I was having issues with to confirm this workflow.

    Post edited by DaremoK3 on
  • DaremoK3DaremoK3 Posts: 798
    edited December 1969

    nicci:

    Thank you for the breakdown of the Blender usage. That will help tenfold.

    So... Set to multi-res when I want to sculpt, but set to sub-d when I just want to morph vertex by vertex. Got it...


    Glad you got the script issue worked out, and yes, reloading the script does seem an odd fix.

    Curious about your rotations though. You seem to know very well what you are doing, but just for clarity's sake, are you not performing any rotations to work on Genesis in Blender to begin with (leaving lying on floor)?

    Are you doing any rotations in edit mode as opposed to only doing them in object mode?

    Reason I ask is for as many years as I have been using Blender, I just found that one out myself this year. I had no idea of how many things I was wrecking doing rotations in both, and thinking they were one and the same. I doubt this is your issue, but checking anyways.


    mjc:

    The encoding issue is interesting. I did not even think of looking there. Is the DS encoding always UTF-8 no matter what platform it is on?

    Should all associated files be UTF-8 only?

    If so, I will start checking for that as well.

  • niccipbniccipb Posts: 483
    edited December 1969

    Hi...

    Glad to hear the fixed morphs are working...

    As for my rotation issue... when I use the script to import a Genesis figure I just leave it laying on the floor, that might be some of the trouble, I don't like to mess with rotating or scaling the figure when making morphs and I don't know if rotating the figure will mess up the export script. Guess I could just do a test on that...

    I learned my lesson with rotations a few years ago when I was learning Blender... messed up allot of morphs at the time... :-S

    I also figured out that de-activating the script fixes the rotation issue when I want to use the 'join as shape' function... so at least I know what to do when I need that function.

    As a side benefit to trying to figure that out... I figured out how to do a 'Head Split' using the shape keys options... :cheese: I need to document the process before I forget it...

    Hmmm... just noticed the time... I really need to go to bed before the sun comes up and I have to go to work... :-/

    nicci... :) (there's no sleepy smiley)

  • mjc1016mjc1016 Posts: 15,001
    edited October 2012

    DaremoK3 said:

    mjc:

    The encoding issue is interesting. I did not even think of looking there. Is the DS encoding always UTF-8 no matter what platform it is on?

    Should all associated files be UTF-8 only?

    If so, I will start checking for that as well.

    I'm not entirely sure...but it's one more thing to eliminate. When tracking done bugs like this nothing is beyond possible. I've seen programs choke horribly if the default system language was set to something other than English. And the fact that sometimes just opening the file in a text editor and resaving it, breaks it...for some people, leans towards something like this. I use emacs or Kwrite (both Linux native) for all my editing and haven't had that problem. (there is a port of emacs for Windows...it is a great editor for coding...http://www.gnu.org/software/emacs/windows/index.html#Top)

    I've been having good success by exporting the morph and putting it in a dedicated (mjc) subfolder under Morphs, then as soon as it shows in DS, saving it out as a Morph Asset, with a product name, that creates a sub folder with the product name and saves the morph in a compressed file (if you have the option to do so checked). Then, from that point on, the Blender generated file is meaningless...I move it to a different folder (outside the DS content...the separate 'work' folder that has the .blend file in it, ususally). Then, after all of that, I work on making a character preset...

    Post edited by mjc1016 on
Sign In or Register to comment.