Blender addon to generate rigged hd meshes, hd shape keys, normals and vector displacement textures from daz HD morph files [part 3]

Issue #1399 resolved
Xin created an issue

[ Continuation of: https://bitbucket.org/Diffeomorphic/import_daz/issues/814/blender-addon-to-generate-rigged-hd-meshes ]

The source is available in the following repository: https://gitlab.com/x190/daz-hd-morphs . There you can also find compilation details for the .dll under MinGW on windows x64, and documentation.

If you find this addon useful, consider supporting its development and maintenance here, since my current hardware doesn’t allow me to develop it further or maintain it fast enough: https://xin888.gumroad.com/l/daz_hd_morphs .

The latest version (the main branch) includes documentation in the form of a .pdf in “./blender_addon/documentation/daz_hd_morphs_documentation.pdf”. It includes several step by step examples.

Instead of uploading files here, it’s more convenient for me if you downloaded the files directly from the gitlab link above:

Once you get the files you need to place the directory “./blender_addon/daz_hd_morphs” in “…/AppData/Roaming/Blender Foundation/Blender/3.4/scripts/addons” manually if you downloaded it from gitlab. You can alternatively create a .zip from the daz_hd_morphs directory (call it “daz_hd_morphs.zip”) and tell Blender to install it.

Comments (113)

  1. Xin reporter

    I uploaded a new verison, v0.85.3, to gitlab and gumroad. The documentation has also been updated. There have been quite a few changes, so read the documentation for all of them. The most important ones are:

    • The ability to edit daz morphs (by sculpting for example) and generate textures from them has been made much easier (this was possible in the past but it was much more convoluted). The documentation includes an example showing how to do this now.
    • Several material operators have been added which allow you to add several textures at the same time (either vector displacement or normals) to a material much faster, and set midlevel and scale automatically. Furthermore, these operators will automatically create the drivers for the Value nodes if any shape key matches are found. Again, the documentation explains the details. For these material operators to work better, the addon now generates a .json file for each generated texture (instead of a single .json file for all textures as the previous versions did). The new .json files include more information about the settings used, and are easier to read.
    • A few new operators have been added to also generate normals in Blender more easily (not necessarily daz related, targeted towards editing morphs/shape keys and generating textures from them). Also an operator to create drivers for shape keys on the hd mesh that match with driven shape keys on the base mesh.
    • The UI has been reorganized a little.

  2. Alessandro Padovani

    This addon is going to be absolutely mandatory for HD figures, especially for G9. Thank you Xin for all the efforts you put in it, I wish you a great luck with your shop. As an advice you may take your time to advertise the addon to make it known at the daz and blender forums. It may also be a good idea to sell it at the daz marketplace.

    https://www.daz3d.com/forums/discussion/620931/hd-addon-by-xin

  3. Xin reporter

    Version 0.88.0 includes a button to add all morph files imported onto the base mesh to the morphs list of this addon, so you no longer need to use favorite files if you don’t want to.

  4. Maneki

    I downloaded the newest version. The base export modifier is set to “none” as standard and importing shapekeys like that gives this error:

    When I set it manually to for example “all” it works. Is there a reason why it’s not on “all” as standard?

  5. Maneki

    Also, is there a way to load shapekeys made for a geograft on a merged HD mesh and make HD body morphs also deform the area of the geograft? I tried a breast geograft in my case.

  6. Xin reporter

    Maneki, could you describe the figure, the morphs you used and the steps you followed to find that error? because I can’t reproduce it. I can import shape keys on genesis 8.1 and 9, either directly when generating the rigged HD mesh, or by using “Morphs List” as “Source”, or by using “Morphs on Base Mesh” as “Source”. I’m using Blender 3.4, and the “main” version of this addon in gitlab (or the latest in gumroad).

    That error could happen when the morph doesn't fit the figure. What happens if you press the “Clear invalid” button of the Morph Files list?

    As for the second question, what do you mean by the area of the geograft? you mean the new vertices that belong to the geograft geometry? if so then no, only geograft morphs can affect that area, body morphs only refer to “old” vertices.

    If you correctly generated the geograft file, then you can import HD body morphs and/or HD geograft morphs, but HD body morphs will only deform the original parts of the geometry, while geograft morphs will only deform the “new” geograft geometry.

  7. Maneki

    Sorry for the late response, the Bitbucket comment functionality was not working the past days.

    The morphs didn’t work for the geograft because I imported the controllers on the main mesh but not the morphs themselves.
    Wouldn’t it be possible to transfer shapekeys from main mesh to geograft like daz importer to fix the issue that the body morphs don’t apply to the geograft?

    I get this error when I import a character and try to generate maps or morphs with the standard settings. For whatever reason it’s on “None” by standard.
    The invalid button doesn’t do anything to the morphs, they are still in the list. The morphs work when I change the standard setting from “None” to either “All but armature” or “All”:

    I tried to use the new morph list functionality to bring base mesh shapekeys over to the HD mesh but it doesn’t work for me:

  8. Xin reporter

    That’s weird. I can import shape keys fine with “None” and also use that button, so I can’t reproduce those problems. Maybe if someone else tried that we could see if the issue is only with what you are trying to do. Also, does it work if you try in a new scene with a basic shape key?

  9. Maneki

    I couldn’t replicate the “none” doesn’t work issue either. In my newest test it worked. I’ll keep an eye on that. The morph list still doesn’t work for me. I tried Blender 3.4.1 and 3.5 with the newest daz importer dev version. Are there some special steps needed to make it work? I just load a body morph on the base mesh for example, then I generate a HD version of that base mesh, merge both rigs and try to load the one body morph to the HD mesh but it says “Required addon “import_daz” not found, or api function threw an exception”. Since the addon doesn’t seem to find daz importer could it be a conflict with the newer dev versions of daz importer?

  10. Alessandro Padovani

    daz studio 4.21.0.5, blender 3.4.1, diffeomorphic 1.7.0.1519, HD addon 0.88

    @Maneki I tried the new “add base mesh morph files“ in 0.88 and seems to work fine here. Perhaps if you can describe the exact steps to reproduce the issue we can test it better.

    steps:

    1. import G8F and merge rigs
    2. import expressions
    3. go to the HD addon and setup the main settings
    4. add base mesh morph files in the normals/displacements panel

  11. Maneki

    @Alessandro Padovani I’m not doing anything else than what you mentioned. Importing the character with HD expressions, adding base mesh and work directory and then press the morph list button on the map generation panel, still the same error. I tried Blender 3.4.1, 3.4.1 clean install and 3.5.
    daz studio 4.21.0.5, diffeomorphic 1.7.0.1519, HD addon 0.88
    I even tried opening Blender with admin in case it’s some rights issue or something.

  12. Alessandro Padovani

    @Xin Please can you explain. In chapter 3 normals/displacements, section 3.2 from morph files. It is not clear to me why you say that "multiresolution doesn't depend on the base mesh" so we can use BOTH or HD for the morph files. As I understand it, the correct method should be HD since the div2.dsf morphs handled by diffeomorphic already take care of the base mesh. This is important especially for normal maps that's "fake" displacement, so dsf will take care of the base mesh and only the dhdm will be baked in the normal map.

    edit. I also did read section 2.2 from morph files. This makes even more confusion to me. You say “A value of 0 means that the base mesh is morphed with base morphs before being compared with the fully morphed mesh“. If this is true then we have to always use BOTH because HD would miss the base morphs. In my comment above I was supposing that the comparison was between the base mesh with no morphs that would be -1, and the the dhdm that would be the HD option ?

    That is, why do you need to apply the dsf base morphs both the base mesh and the HD mesh. This is a unnecessary complication, since the vector offset will be the same for both, so it’s the same as comparing the base mesh with no morphs and the dhdm. Isn’t it ?

    That is, as I understand it from sections 2.2 and 3.2, the easy and correct settings would be subdiv = -1 and component = HD and modifiers = NONE. If I am correct then this should be the default and also explained in the docs. Also all the other settings would be incorrect so I don’t get why they’re there at all.

    Unless I misunderstand, please let us know.

    note. important. about the daz studio subdivision. POSSIBLE BUG.

    I see that no matter what settings I choose, in the generated normal maps there are always artifacts in the corners of the mouth and eyes. That’s where the base mesh and subd zero differ most.

    That is, in daz studio the base resolution and subd zero are not the same thing. Because subd zero will smooth the vertices while base resolution doesn’t. Now the dsf is relative to subd zero, not to base resolution. So it is not correct to compare the base mesh and the dhdm in blender. You should compare a “smoothed” base mesh and the dhdm. To fix this a little corrective smooth should do, but it has to be used after applying the dsf to get the same effect as daz studio. If you apply the smooth before the dsf then it will not do.

  13. Alessandro Padovani

    @Maneki Are you sure you did a clean install of the addons ? You have first to delete the old folders then copy the new ones. I always do it by hand because it is faster than doing a clean install with blender. This is the same for any blender addon when you have to update, not just diffeomorphic or Xin’s.

    steps:

    1. delete the old folders
    2. unzip and copy the new folders, you may also have to rename if the new name is different

  14. Maneki

    Yes I deleted the folders completely manually.

    Edit: I also tried completely removing the addon folder including the start up file and install only daz importer and daz HD by xin, it still doesn’t work.
    I don’t have any issues with daz importer to get files on characters and favorite morphs works for me with the Xin addon.

  15. Xin reporter

    Alessandro, what I meant by "multiresolution method doesn't depend on the base mesh" is that the normals are baked directly with that method. The “Base Mesh” is never used for baking, unlike the other method. What Blender does is basically a comparison of the mesh with multiresolution at base level with the mesh with multiresolution at the selected level. Keep in mind that the multiresolution at base level is not exactly the same as the base mesh, so that’s why this method is not perfect in all cases, and why the other method (that makes use of the Base Mesh) exists.

    With the multiresolution method, if you use BOTH, then the multiresolution mesh used for baking will have all morphs including base morphs, so the multiresolution at base level will have some features of the base mesh with base morphs (which is closest to how you would use the generated normals later on). If you use HD, then the base morphs won’t be present, and there could be a difference in how the normals are generated (normals are not as straight forward as offsets like in vector displacements). That’s why I said “Then you can decide whether you get better results by using BOTH or HD as their components”.


    As for “why do you need to apply the dsf base morphs both the base mesh and the HD mesh. This is a unnecessary complication, since the vector offset will be the same for both, so it’s the same as comparing the base mesh with no morphs and the dhdm. Isn’t it ?”

    Yes, this is true for vector displacements but not necessarily for normals. As you say, what matters for vector displacements is the difference. In terms of performance, there isn’t any noticeable difference (since it’s just a copy done very fast in C++).


    “as I understand it from sections 2.2 and 3.2, the easy and correct settings would be subdiv = -1 and component = HD and modifiers = NONE.”

    Yes, these would work fine too for vector displacements, but it can cause issues for normals, since normals aren’t just offsets. In that case, during baking, there would be no base deformations at all, which wouldn’t be how you would later use those normals maps. That is, when you use them later on, the base morphs will be deforming the mesh, so you want to replicate that during baking for better accuracy.

    If these settings don’t work, you can try other settings including the one you mentioned. I don’t think there are any optimal settings, esepcially for normals, which are more complicated to get right. The defaults were chosen so they accommodate both normals and vector displacements best, but they are not mandatory.


    “That is, in daz studio the base resolution and subd zero are not the same thing. Because subd zero will smooth the vertices while base resolution doesn’t. Now the dsf is relative to subd zero, not to base resolution. So it is not correct to compare the base mesh and the dhdm in blender. You should compare a “smoothed” base mesh and the dhdm.”

    The thing is that what ultimately matters for this is the mesh where you will be using those normal textures. That is the base mesh you have in Blender, that’s the one you want to accommodate the normals maps for, and that’s why the “comparisons” are made relative to that one (or, in the case of the multiresoulution method, a close approximation of it).

    Just to be clear, this addon takes the “base mesh” directly from Blender and uses it internally in the .dll, it doesn’t create the base mesh from scratch in the .dll. If that base mesh had problems with base morphs, then the same problems would exist with base shape keys in Blender.


    Maneki, I think your problem is that your folder in the addons directory is not named “import_daz”. If that’s the case, disable the import_daz addon from within Blender, rename the folder, and then enable it again.

  16. Maneki

    I got a new error though. It appears to only happen if I load morphs on the base mesh before generating a true HD mesh. In my case I imported a G9 body morph to the base mesh and then generated a subD2 true HD mesh.
    When I generate the true HD mesh, then load the body morph to the base mesh, press “morph list” and apply it, it works and I don’t get this error:

  17. Alessandro Padovani

    @Xin Thank you for your explanations that’s crystal clear.

    Question. What about the artifacts that I noticed at the mouth and eyes corners. What do you advise to reduce them ?

  18. Xin reporter

    Alessandro, you could try the other method and adjust the “Extrusion” parameter. I don’t think Blender’s normals baking gives many options. Hopefully they improve that part eventually.

    Another thing you can do is to pose the mesh so the mouth is open and is baked in that better position. Read the last part of section 3.2. This can also be done with the multiresolution method to get better results.


    Maneki, I don’t get any artifacts with exr. Are you sure you aren’t using “Displacement and Bump” in the material settings? those can cause issues, I would use “Displacement Only”. Other than that, are the artifacts in Blender or are you just viewing them with some viewer? .exr are not easy to view, so a lot of viewers can show artifacts while displaying them, but that doesn’t mean that the data is wrong.

  19. Maneki

    I remember the morphs I used last time so I’m gonna try and reproduce the issue and provide some images and the workflow I used.

  20. Amarok2D

    i was following the instuctions on the pdf but could not find the vecotr displacement maps anywhere on my pc, i had no issue leading up to this point and could find where the expressions where but also could not find a subfolder in the working directory

  21. Amarok2D

    I dont understand pls, i was talking bout not being able to find the vector displacement maps used in figure 12 of the pdf and neither was i able to find the subfolder in the working directory containing it, am i suposed to generate the textures manually? i thought they were there by default.

  22. Rincewind

    I would be intrested what is the state of this planned feature:

    Ability to generate .dhdm files from Blender meshes, including the ability to generate new morphs from existing ones, within Blender (by sculpting for example). I have already made a working first version of this conversion, but I haven't had the time and hardware to implement it as an addon and properly test it

    Propably, DAZ will hate this feature, because this would allow non PAs to publish HD morphs outside the offical DAZ store. Before you publish it, you should check the legal point of this very interesting feature.
    For my understandig, offical PAs are not allowed to publish HD morphs outside the DAZ store, because they signed something, when they get the offical DAZ tools, which prevents them from doing so.
    But after we none PAs never singed such an agreement, I ask how will DAZ react if you once publish this feature?

  23. Amarok2D

    Actually you can already sell morphs outside the daz store sites like renderosity, renderhub and more so i doubt it will be as big of a problem as u think

  24. Rincewind

    Yes, you can sell basemesh morphs outside their store. But HD morphs and dForce straind hair is limited to their store. For both, they are gatekeepers, like Apple with their app store. At the moment you can only create HD morphs and dForce hair if you are a PA and agree only to publish those assets in their store.

  25. Amarok2D

    ah got it, do you by any chance know how i could fix my problems with the vector displacement maps, i cant seem to eb able to find them

  26. Amarok2D

    when i try to generate vector disp maps i get this

    but when i try to generate textures using the one on the bottom i get this instead

    Was Able to generate normal maps but still had the issue with vector displacement maps (theres teh console)

  27. Xin reporter

    Amarok2D, the morph files you want are in the genesis 8 Expressions directory (not 8.1), The ones you selected don’t contain the data, but just a reference to those. If you imported the morphs on the base mesh, you can also use the following button to get the correct morph files:

    As for the other error, that one was a bug and has been fixed in the last version.


    Rincewind, I haven’t been able to do much more with that since I don’t have a new computer yet, and the old one I’m using now tends to crash a lot. What remains is mostly testing.

  28. Alessandro Padovani

    @Rincewind @Xin

    disclaimer. I am not a lawyer and have little experience with these things, but I will report facts as I know them that may be helpful.

    My opinion about dhdm files and the DAZ EULA. The dhdm file format is proprietary in that DAZ didn’t publish the specifications, this is why Thomas wasn’t able to deal with it. So even reading the dhdm alone could be “hated“ by DAZ. As for the EULA, that is something you have to sign for it to be used against you. If you use DAZ Studio you agreed the EULA for general customers but not the EULA for PAs that’s specific apart.

    As for contacting DAZ to ask for permission or information, in my own experience they don’t reply to EULA or technical questions. Their customer service is focused on marketing and sales of products in the DAZ shop.

    What Xin has done with his addon is technically called “reverse engineering“, in that he discovered a method to make things work without using the DAZ tools. Below there’s what I found on google about it, so it seems everything is fine.

    https://www.tradecommissioner.gc.ca/united-states-of-america-etats-unis-amerique/retro-ingenierie-reverse-engineering.aspx?lang=eng

    Reverse engineering is generally considered to be legal in US and Canada if the product has been legitimately obtained.

    Reverse engineering is legitimate to: learn how something works; modify or repair a product; create a competitive product; enable interoperability with a product.

  29. Maneki

    @Xin I did a test now with VDM and EXR but for some reason I couldn’t replicate the issue. I had really weird noisy deformations on some spots on the body. I don’t think it was set to displ and bump because I usually use your feature to load maps on the character which automatically sets them to “displacement only”. Weird, if I’m ever be able to replicate it I’ll try to figure out what causes it.

  30. Alessandro Padovani

    blender 3.5.1, diffeomorphic 1.7.1.1614, hd addon 0.88.3

    @Xin The addon causes a register_class() error in blender 3.5.1. Works fine in blender 3.3.6 LTS.

    steps:

    1. run blender and look at the console

  31. Eugene

    Hi, I've been experiencing weird issues with this addon. When I try to generate an HD mesh from the file imported through Daz Easy Import, it just closes blender. No crash, no log, it just closes when I press the button Rigged HD mesh, works fine with multires, but the problem is that it doesn't really do anything. The mesh stays low poly. Am I doing something wrong? Thank you in advance.

  32. Alessandro Padovani

    You may want to provide exact steps to reproduce the issue, your description is a bit generic.

  33. Eugene

    Let's see, I prepare the scene with a Genesis Male 8 with a Muscle Deformation Addon applied on on subd level of 2. Some character morphs, some muscle morphs, some cloths.

    I then save the duf file, and run the script Export to Blender. Then in Blender I import through Easy Import as a DBZ file (with merged rigs, because character had cloth) Then I selected the working folder, selected mesh and pressed the Generate with a Rigged HD mesh option specified. Right after I press it, the Blender just closes, it doesn't freeze, just a hard shutdown.

    Can't really get into more detail since I am not at the computer right now, but that's basically all I did.

  34. Alessandro Padovani

    Again that description is too much generic. You may want to reduce the scene as much as possible to reproduce the issue, the simpler it is the better. You also have to specify the exact products you’re using and provide a link to the product page. Then you can upload a test scene in duf format for Xin to test.

  35. Eugene

    Will it be better if I record the whole video of the process? I assume so it would be much easier. And then I'd just list the products I've used in the separate text file.

  36. Alessandro Padovani

    If it is necessary. Beware that people may have troubles downloading large videos. You may want to look at some other issues here to get the idea how exact steps and test files are provided, then try to do the same.

  37. Xin reporter

    I’m close to finishing, at least the first version, of the addon that lets you create .dhdm files from Blender meshes (for example, a sculpted mesh). The conversion has been tested within daz, with HD morphs created in Blender up to subdivision level 2 (that is, the HD morphs are correctly present in both subdiv level 1 and subdiv level 2). I can’t test further than that, so the addon will most likely be buggy for subdivision levels beyond 4, where the format is slightly different (but I can’t properly test it due to my hardware limitations). Now I'm mostly deciding how to organize the workflow and interface, and will also write some documentation for it.

    If you work on Blender, you wouldn’t ever need such addon. But if you can sculpt in Blender, you could, for example, use that addon to potentially give or sell HD morphs to daz users, which they can then use in daz.

  38. DomDomk

    Thanks for the huge work and contribution you do Xin, and congratulations for such an achievement, sincerely impressive addon along with Thomas. No doubt many people will find your valuable contribution very useful to be able to do these functions.

  39. Alessandro Padovani

    Personally I don’t use blender to make assets for daz studio, but this is amazing news for anyone who does. Especially for G9 that is HD based so HD morphs are practically mandatory. This means even non-PAs can do HD morphs, so we may see them in other stores as renderosity and renderotica which until now were precluded. Indeed you may want to get their artists on the gumroad page.

    As for the DAZ forum the moderators are very aggressive deleting everything that they consider competition, it is even forbidden to link or mention other shops. So I doubt that you can announce the addon there.

    Will test and let you know if I find any bug.

  40. Alessandro Padovani

    Nope, I wasn’t able to use it and for me it doesn’t seem to work. All steps are fine and the files are generated, but when I put them in the daz folder it doesn’t produce any effect.

    steps:

    1. load G8F then duplicate and sculpt the multires mesh
    2. generate the dsf/dhdm files
    3. copy the dsf/dhdm files in the daz folder

    Since I don’t have wink, as dsf template I used “eJCMAfraid_HD_div2.dsf” that comes with the standard G8F pack. Again all the files are generated correctly I don’t get any error in the console, but the dhdm doesn’t produce any effect on the daz side. Probably I miss something, so you may want to wait for other users to try it and see if they succeed.

    I’m including the generated dhdm.

  41. Alessandro Padovani

    update.

    Wait, it doesn’t work with the afraid expression, but I get a hidden “hd_test” in the G8F morphs and that works fine when I set the slider. So yes, it seems to work though not as explained in the documentation. Unless I misunderstand it.

    suggestion. In my opinion it would be useful if you include a set of dsf templates at least for full body morphs, so people don’t have to necessarily know and edit the dsf files that’s quite technical.

    note. Usually in daz studio the base morphs are generated with the morph loader, that should also generate the dsf. So in general the artist may want to use the morph loader then add the dhdm. You may provide instructions or a tool to do that, I mean unless it's enough to add the dhdm with the same name. Again I don’t make content for daz studio so I know very little of this.

  42. Xin reporter

    Thanks for testing it Alessandro.

    The problem with that Expression is that the formula that defines the relation between the eJCM and the eCTRL is defined in the eCTRL .dsf, not the eJCM .dsf, which is the one being used as template. In the example I used, the formula is defined in the eJCM .dsf.

    In any case, you are right that the artists should be providing their own .dsf files, since they would want to define their own controllers and conditions, not just copy them from another .dsf (that would be too restrictive). This addon is mostly focused on the generation of the .dhdm, not the .dsf. The main reason why the Template .dsf is a thing is because I think the option to include the possibly edited base morph data in the .dsf might be useful (no need to load the base morph in a separate step).

    I will add a very basic .dsf template option, without any JCMs or formulas other than a slider, so the morph can be dialed and seen in daz more easily, without having to look for an adequate Template .dsf file. I will also add a utility operator to link a .dhdm file to a given .dsf file (and optionally insert the base morph data in that .dsf).

  43. Alessandro Padovani

    I’m glad that I can help a little, your contribution to diffeomorphic to handle HD figures is excellent, so I wish you the best luck with your gumroad page. You may really want to make some posts on various forums to let them know the addon is out, since I’m afraid only a few people read here.

  44. Xin reporter

    v0.0.8 of the daz_dhdm_gen addon was uploaded to gitlab and gumroad. The documentation has been updated too.

  45. Alessandro Padovani

    Version 0.0.8 works great. I can easily do HD full body morphs and use them in daz studio, both the dsf base mesh and the dhdm HD details are baked correctly as far as I can see.

  46. Xin reporter

    I tried posting the dhdm addon in the renderosity forum (which gives off a very sketchy feeling in general considering the moderators' social pages), but they ended up directly deleting my account with no warnings or explanations.

    I will consider posting the addon later in the Blender market (mostly for publicity since I can’t think of any better platform). It’s clear daz can’t force anything legally on foreign companies, and I don’t live in america either.

    It’s like the .fbx addon that comes with Blender, autodesk can’t do anything about it. Just another case of american companies overstepping their boundaries and trying to punish people outside the law and hoping that will stop them. I’m glad the Blender Foundation is not based in america (and I’m also glad that Thomas didn’t take daz’s offer and kept this addon free and open source).

    Consider supporting the Blender Foundation instead of ever buying stuff from daz or renderosity. I heavily suspect daz and renderosity have an arragement to punish consumers, which also means punishing pro-consumer software like Blender and its ecosystem.

  47. Rincewind

    uhhh, I didn’t expect that from Renderosity. That makes no sense for me, after Renderosity is a compititor of DAZ and they must be happy to be able publish HD stuff on their stuff with your addon. I don’t get that.

  48. Alessandro Padovani

    Consider that your HD addons are a terrible competition for DAZ, since it means anyone can do HD, not only PAs. As far as I know reverse engineering is perfectly legal so even if you were located in USA or Canada it is your right to compete with your product. I am not so sure that it is legal the opposite, that is, if someone as Renderosity or DAZ is trying to block your addon they may be breaking the Antitrust laws because the market must be free. That said I’m not a lawyer so that’s just my own opinion.

    As for the DAZ forum, it is the only place I know where people use PMs to avoid the moderators. It is just ridiculous in my opinion how they handle the forum.

    My advice is to don’t give up. You created some amazing addons and eventually words will spread. Apart renderosity, there’s also renderotica and forender that you can try, they both provide high quality content for poser and daz studio.

    https://www.renderotica.com/

    https://www.forender.com/

  49. Rincewind

    Yeah, I would expect this behaviour in DAZ forum, but not on Rendersosity.

    However, maybe asking if you can publish it on Renderotica is a good idea.

    Renderhub might be also a way, they don’t seem care too much about legal stuff (not saying that your addon is illegal).

  50. Maneki

    I think I mentioned this once, I',m not sure, but the HD addon doesn’t seem to recognize some morphs with certain naming. Basically everything which doesn’t have something like “PBM”, “body_” etc. doesn’t get transfered to the HD mesh when I try to add the morphs from the base mesh.

  51. Xin reporter

    The problem is that when calling the import_daz function “api.get_morph_directories()”, it returns a list with an empty string, when you would expect the string to be the directory of the custom morph. Don’t know if Thomas intended it to work that way for custom morphs or if it’s an issue. You could try creating a new issue just in case.

    Since the addon can’t get the directory of the morph on the base mesh, it can’t find it. As a workaround, you can import the morph/shape key to the generated HD mesh by adding the morph file manually to the morph list (of this addon). Then it will work fine.

  52. bouich jules

    Hello Xin,

    I am using a geograft for victoria 9 HD, it’s called RPDGL nipples, however when i create the HD mesh i lose all the shapekeys, so i can’t use any breast morph without getting any major breast deformation.

    My steps are:

    Import the victoria 9 HD

    transfer shapekey from victoria 9 HD to nipples.

    Create an HD mesh following all the correct steps for merge geograft, but i will lose all the shapekes that i transfered to the nipples.

    edit: i use victoria 9 HD

    thank you for your help!

  53. Xin reporter

    bouich jules, currently automatically transferring shape keys that aren’t from daz morphs from the base mesh to the hd mesh is not supported.

    But you can still get them onto the hd mesh, one by one, by doing the following steps:

    1. Generate the merged hd mesh with the geograft as indicated in the documentation (I think that’s what you did).

    2. On the merged base mesh, pin the shape key you want to import to the hd mesh (click the pin icon in the Shape Keys panel), while leaving everything else on the figure in the default position.

    3. In the HD shape key panel, select the merged hd mesh as hd mesh, set “Base mesh shape” as “Source”, and “Only shape keys” as “Base export modifiers”. Then press the button.

    4. Change the new shape key’s name on the merged hd mesh to match the name in the merged base mesh.

    5. In the Create drivers panel, select the merged hd mesh and press the button to create the drivers.

    If you have many shape keys, you might want to do steps 2-4 repeatedly and do step 5 only at the end.

    I will make a note of this and possibly implement it eventually, so non-daz shape keys from the base mesh can be automatically transferred too (they will have no hd data by definition). It’s quite easy to implement, but it will take some time since it requires some changes in the dll too.

  54. bouich jules

    Thank you Xin! it worked perfectly!

    but i have like 100+ shapekeys and almost 100 + models, i don’t think i can do it manually haha.

    but thank you so much!! looking forward for the update.

  55. bouich jules

    Hi Xin,

    Since i think this addition is really a must, is it ok if i send you a reasonable extra payment for support on gumroad ( i believe it’s an extra work that require time ) to speed up the process a bit?

    Also please note one small detail (also standard daz morph for breast will also cause deformation with RPDGL nipples geograft)

    Thank you so much!

  56. Maneki

    I followed the guide how to get shapekeys to work with geografts myself now but I can’t see the point why someone would use the daz HD addon at all in this case, when the shapekeys are all base mesh? I guess I could merge it with the HD morphs and smooth out the edges in sculpt mode but it’s rather suboptimal.

  57. bouich jules

    well the point is when you have shapekey on geografts that are merged to the HD mesh like in this case “ RPDGL nipples geograft” , it won’t work if you don’t do it manually, so it will deform your HD mesh generated mesh.

  58. Maneki

    I understand, but let’s say you’ve a fullbody HD morph. If you transfer the morph this way, it’s gonna work with the geograft deformation but both the geograft and the original body mesh will just morph into the base version of the morph but the intention of this addon is to get HD morphs on characters.

  59. bouich jules

    those are breast/nipples shapekeys even if no HD morph it doesn’t matter as long as they work on the HD mesh ( now they don’t work they deform the mesh and you have to follow manually the steps listed by xin for shapekey).

  60. Xin reporter

    bouich jules, there is no need for that specifically. I prefer donations to be based on whether people find the addon useful or not. Regarding the automatic transfer of non-daz shape keys, it shouldn’t take long, so maybe next weekend.

  61. bouich jules

    Thank you xin! i didnt know how to make a new donation because i already made it, but i found how haha. i just made a new one.

    thank you very much again!

  62. Xin reporter

    Version 0.88.8 of daz_hd_morphs is available on gitlab and gumroad. This version allows you to transfer non-daz morphs to the HD mesh when generating the HD mesh with the “Import base morphs” option enabled, or when generating HD shape keys with the “Morphs on base mesh” option.

    Also, a bug when generating an HD mesh with the “With morphed base” and the “import base morphs” options enabled has been fixed. Previously, this option didn’t correctly generate the shape keys from the base morphs, as it ignored the morphs selected in the “With morphed base” list.

  63. bouich jules

    Hello Xin,

    tried the new version 0.88.8 today, however it give me a crash

    please if you can have a look, thank you!

  64. Xin reporter

    I can’t reproduce the error. It works fine for me. I even downloaded the last version from Gitlab and reinstalled it.

    Can you list the steps you followed? it could be an issue with the compiled dll not working for other computers, although that would be weird.

    Also, what version of Blender are you using? I’m using Blender 3.6.2. And to be sure, delete every other version of the addon before installing the new version. Furthermore, start a new .blend.

  65. Maneki

    It works for me now but if I let the base export modifier at “none” I get this error. If I put it to let’s say “all” it works. Is that intended?

  66. Xin reporter

    No, that shouldn’t be happening, and it doesn’t happen to me. When you say “now”, do you mean with that dll or the original one? could you list the steps, and the morphs used?

  67. Maneki

    with the dll file, I didn’t test that part before though because I already got some error when I tried to generate a HD mesh with a geograft.

    • I import the character with geograft with the daz importer addon (including saved favorite morphs within daz)
    • I duplicate the entire collection and created one merged mesh with the geograft
    • Then I put in as base mesh the merged mesh, select body, geograft and merged mesh and generate a json file.
    • Then I generate a subD2 HD mesh with standard settings.
    • On the base mesh I put the body morph at max value
    • in Daz HD addon I enter the subD2 mesh as HD mesh and select “base mesh shape”
    • When I let base export modifier at “none” and press generate I get a error

  68. Xin reporter

    I can’t reproduce it, it works for me. If you can, posting the console output could be useful to understand what’s happening. Also, does the error happen without geografts too?

  69. Maneki

    I followed my own workflow now and I don’t get this error. A shapekey gets generated but when I let it on “none” as base export modifier, the shapekey is just empty and doesn’t do anything. When I change it to “all” it works. There’s nothing within the console because I got no error.

  70. Xin reporter

    Yes, that’s the expected behavior. Using base shape with None shouldn’t be doing anything unless you edited the base mesh vertices, as opposed to the shape keys. What you likely want is “Only shape keys”, although “All” might also work under certain circumstances.

    It’s still weird that the other .dll doesn’t work for you.

  71. Xin reporter

    I uploaded an updated version with different compilation settings to Gitlab and gumroad. bouich jules, see if that one works now. Maneki, this version should be better than the one I posted here.

  72. bouich jules

    Hello Xin,

    I download the last version from github

    the crash still occur here:

    I have 2 geograft and victoria 9 HD, i did follow the steps as usual but the crash occur.

  73. Xin reporter

    bouich jules, I had no problem doing that. The only thing I can think of is that your .json file is not being generated correctly, but I don’t understand why. Could you post it here? also, what does the console say?

    That aside, I think what you want to do is to import the morph on the base mesh first (before merge); then transfer the morph to the geograft (with import_daz); then merge (with import_daz); then generate the .json; then generate the HD mesh; and then in the “HD shape key” panel select “Morphs on base mesh” as Source. That should also work.

  74. Maneki

    The selection order is wrong I guess? The geograft section in the daz HD addon says select body->geografts->merged mesh but here I see the geografts getting selected first.

  75. bouich jules

    Yes Maneki you are were right i didn’t select in the good position, thanks a lot!

    I can confirm all perfectly good!! Also Thank you so much Xin.

  76. Xin reporter

    I will look into it. In the meantime, can you tell me which figure you are trying to apply the morph on? also, does the figure have geografts? if so, could you describe the process with more detail?

  77. Hdhd Ebjsej

    I might have messed up, the base mesh without merging was selected instead of the merged base mesh. Its working now.

    Another question, I tried using the addon in the first place, cause I needed to create a morph for the arms and the base mesh vertices felt insufficient. But the hd mesh generated by the addon is proving to be taxing on my system, also with the amount of morphs I loaded the blend file size is around 5gb.

    Is there any other way in blender to create a morph at a high subD that I can toggle?

    Also thanks for the hard work in creating the tool and making it free.

  78. Alessandro Padovani

    No, there isn’t any other way, multires only supports morphs for the base mesh. But multires is fine if you only need to sculpt the HD shape, instead of a HD morph, that’s the usual case.

    p.s. You can support Xin on gumroad, if you appreciate and use his addons. See the first post here.

  79. Maneki

    Hi Xin, I got the dhdm addon for generating HD morphs. I tested both options, the one without baked morphs and the one with. I had no issues with the one without baked morphs but when I used the baked option, I had the issue that Daz didn’t recognize the morph as a unique morph even though the name I gave it was unique. It stacked with a already existing morph. To give a bit more context: I baked many morphs, mostly from a muscle product https://www.daz3d.com/muscularity-morphs-for-genesis-9
    I used the HD detail morph of this product as the template. I gave the new morphs a name like “morph_muscle_test1” or something like that but in Daz it stacked with the detail morph. I could tell because it a (2) next to the name and the morph looked weird.
    I’m not sure if I did something wrong but I tried to stick to the documentation.

  80. Alessandro Padovani

    As I understand it you have to use unique ids in the dsf. Especially if your library contains tons of morphs it is easy to get a conflict, one way to get a unique id is to prefix your PA name. But better wait for the reply by Xin I know very little of daz rigging.

  81. Xin reporter

    Maneki, could you post the .dsf you are using as template here? that would make it much easier to see what’s wrong.

  82. bouich jules

    Hi Xin,

    I noticed while all custom shapekeys works great for the HD mesh, some body morph doesn’t work properly for the geograft once you merge.

    for exemple i use a geograft called “ RPDGL nipples” the body morph ( all breast morph that are available in the standard body morph works great) but once i create my HD mesh they no longer work. ( custom works perfectly!) only the standard body morph doesn’t work.

    any fix please?

    Thank you!

  83. bouich jules

    i am talking about those breast morph for my RPDGL nipples geograft in the HD mesh:

    rest of the body morph like fingers etc… works perfectly. only the breast one for my geograft.

  84. Xin reporter

    Ok, I already downloaded it. This weekend was quite busy so I didn’t have much time to check these two issues. But I will check them as soon as I can.

  85. bouich jules

    Hello Xin,

    New major problem i discovered if i created some custom vertex groups on the original daz mesh they are not transfered to HD mesh generated!

    Once i generate the msh some of my custom vertex groups on the original mesh disappear!

  86. Xin reporter

    I have been quite busy lately, but I should have free time next weekend. So I will look into the issues then.

    As for that last thing bouich jules, that’s by design, the addon only takes care of vertex groups associated with bones. The possibility to include all vertex groups could be added later on. For now, you could probably get around by adding a fake bone for each additional vertex group you want to add. I would follow these steps:

    • Add bone.
    • Rename bone to match the name of the vertex group you want to export.
    • Export.
    • Delete added bone.

  87. Xin reporter

    bouich jules, for your problem with daz_hd_morphs you need to tick the new setting called “Force Blender base morphs“, because you projected new morphs onto the geografts, so you need to derive the corresponding base morph for the HD mesh from the Blender mesh directly and not the .dsf file.

    Maneki, for your problem with daz_dhdm_gen, a fix has been added that might work. The problem was in some additional fields in the .dsf file, the .dhdm file and the base morph data (in the .dsf file) were generated correctly. I’m not entirely confident in this part of the code that relies on template .dsf files because there are a lot of cases that might need special rules. What I’m confident is that the .dhdm files and base morph data are generated correctly, so those who know about .dsf files could try to directly edit the .dsf file with a text editor in case of any new errors and report them here so a fix can be included in the code.

  88. Log in to comment