Problems importing a basic G9 figure with dicktator.

Issue #2189 wontfix
Henrique created an issue

I loaded a basic figure of genesis 9 with dicktator.

Render Daz:

I loaded the figure with these settings into Blender:

And here's the problem.

Render Blender with Cycles:

Daz v4.22

Blender v4.2

I'm sorry if this is something simple, I'm new to Blender.

Comments (25)

  1. Alessandro Padovani

    On top of easy import there’s the presets where you can set the genesis generation. Specifically you need “merge geografts“ to fix dicktator. The seams issue is #1168.

    If there’s nothing to add we can close as invalid.

  2. Henrique reporter

    This modified 4.2 version is very good and solved the seam problem, but I still have the problem with the dicktator.

    I imported with the merge geografits option activated. I activated and deactivated the options below, made some variations, but the result remains the same.

  3. Alessandro Padovani

    4.2.1.2292, blender 4.2.1

    Just tried Matt for G9 and seems to work fine here. You may want to give exact steps. Be sure to update.

    my steps:

    1. in daz studio enter the geometry editor
    2. export HD
    3. in blender easy import with merge geografts

  4. Henrique reporter

    I updated the Daz importer and did this step by step exporting in HD

    Now it's like this.

    Can you share your Easy Import Daz configuration?

  5. Alessandro Padovani

    It looks like you imported both the HD and base meshes, just delete the base meshes or remove the option in the global settings and you’ll be fine.

  6. Henrique reporter

    First of all I would like to thank you for your help. :D

    Exporting the Daz figure in normal mode is working perfectly. But in HD there are some problems, let's see.

    As you can see in the image, when I import the figure in HD, there are two groups, one normal and the other HD.

    What is in the normal group is being duplicated in the HD group, and what is in the HD in the normal group. If I delete the normal group, the dicktator loses the texture.

    After some testing, I managed to make it work.

    The mesh file must be present even if the preview is disabled. If you enable the preview the red spots return, and if you delete it, the dicktator loses its texture.

    I unchecked the "Keep Base Meshs" option.

    When importing with this option disabled, the mesh file does not exist and dicktator remains without texture.

    Now let's go to the last option that is different between our settings.

    And here's the problem. When using Material, everything works perfectly. But now I can't modify the geoshell anymore.
    Well, that's not a problem for me, I just have to get them perfect in Daz before importing them into Blender.

    Thanks for helping to unravel this great mystery haha

  7. Alessandro Padovani

    4.2.1.2292

    Yes I can confirm the issue with geonodes, but I can’t help as I know geonodes very little. There were recent improvements in #2005, perhaps @GeneralProtectionFault or @Thomas may want to give a look here.

    p.s. Anyway I understand geonodes are experimental and not to be used for production. Personally I never used them, unless to help with testing.

  8. GeneralProtectionFault

    Feel free to leave this open for a while. I’m stupid busy at the moment, but I’ll be glad to at least have a look when I can 😅

  9. GeneralProtectionFault

    Ok finally had a little time to look at this. I don’t think this has anything to do with the Geo Nodes setting, or at least not only that. I would like to state right out of the gate, though, that I’m not sure/curious what this “Shell Method” setting is doing, just at a high level. The code I messed with was regarding the actual geograft merge, not the shell. I’m not sure what the difference is at a material level, but putting that aside--

    Shell Method: MATERIAL, Keep Base Meshes CHECKED

    • DicktatorG9 MESH is present under both base & HD figure.

    Shell Method: MATERIAL, Keep Base Meshes UNCHECKED

    • DIcktatorG9 MESH is missing.

    I think part of the confusion is Henrique referred to the dicktator “mesh file” and textures. No question of a file here, the dicktator mesh simply does not appear separately at all if Keep Base Meshes is unchecked, and it’s not about the texture, it’s about the geograft object itself. This happens without selecting “Merge Geografts” in the import options.

    It looks like what’s happening is that under the hood, if not keeping base meshes, the HD mesh automatically has the geograft merged in as part of that code, not exposing the option to leave them separate. i.e., the HD merge geograft code is coupled to the HD mesh 🙁 . So, I think the “Merge Geografts” code that runs when you hit the button in the Finishing menu--when doing it yourself after selecting the graft & figure meshes--is not being touched on the HD import, before or after the changes I contributed.

    For whatever reason, keep base meshes, preserves the workflow for the base figure, and we see the geograft mesh independent under both. That’s why Henrique was originally finding that deleting the base figure wiped out the geograft as well.

    I think what needs to happen is the merge geograft code be decoupled from whether it’s a base or HD figure first, and the geograft object would need to be copied to the HD figure in order to not have 2 different workflows for incorporating geografts.

  10. Thomas Larsson repo owner

    This may not be so easy to get right, even when using materials for shells.

    First a bug. If Shell Drivers are enabled in the global settings, the influence of shell node groups is driven by a rig property. The merge rigs tool copies the driving property to the main rig, but it didn’t retarget the influence drivers to the new rig. This is fixed now.

    Second, don’t enable the HD convention option when exporting from DS. With this option the HD data is only exported for figures that end with “HD”, in that case Matt but not DicktatorG9. If doing so the HD UVs for the shell is lost.

  11. Thomas Larsson repo owner

    Now I tested with geonode shells and its the same. HD convention must be disabled because otherwise the shell HD uvs are not exported.

  12. Alessandro Padovani

    I’m confused what do you mean, can’t we transfer from base mesh to multires when HD uvs are missing ? I understand this is what “transfer to HD“ is for.

    p.s. I always use the HD convention and never export HD uvs and so far worked fine for me. Most geografts are not HD so we can export them as base resolution entering the geometry editor. Or perhaps you mean if we don’t enter the geometry editor but that doesn’t work fine in general because of errant vertices as we already experienced in #2112.

    p.p.s. The reported issue is specific to geonode shells while it works fine with material shells as confirmed by me and Henrique, so I’m not sure if you’re talking about another issue you discovered while debugging this one ?

  13. Alessandro Padovani

    4.2.1.2324

    Here’s a test scene to help you sort the issue, as I guess the description above is confusing.

    steps (works fine):

    1. in daz studio enter the geometry editor, then export matt.duf with HD convention and without HD uvs
    2. in global settings set shells as material
    3. easy import with “transfer to HD“ and “merge geografts“, everything works fine

    steps (doesn’t work):

    1. same as above but with shells as geonodes in global settings, you see the shell is missing

  14. Thomas Larsson repo owner

    OK, I understand. The geonodes shell needs to use the HD dicktator rather than the original one. If you set the base object in the geonodes modifier to Dicktator9 HD, the shell will be added to the HD mesh.

  15. Thomas Larsson repo owner

    If Keep Base Meshes is enabled, the base object has to be changed from “Matt for Genesis 9 Mesh” to “Matt for Genesis 9 HD”. If you want the shell for both the base and HD meshes, I suppose the shell object has to be duplicated.

  16. Alessandro Padovani

    Usually we work with “keep base meshes“ disabled, as it is only needed to eventually transfer more morphs we import later, so shells don’t matter. Or we can plan ahead and use “daz favorites” instead without importing morphs later. Anyway for dicktator there’s no difference because it is not HD, so I’m not sure what you mean. Anyhow, here the issue is fixed on the opposite of what you say, so probably a misspelling.

    With “keep base meshes” disabled, the base object has to be “Matt for Genesis 9 HD“, so I guess this is the fix we’re looking for.

    With “keep base meshes“ enabled, both “Matt for Genesis 9 HD“ and “Matt for Genesis 9 Mesh“ work fine as base object.

    p.s. “DicktatorG9 HD“ is to be used as base object only if we don’t merge geografts, otherwise it doesn’t exist.

  17. Thomas Larsson repo owner

    I must have used some different settings, because now I also get a good result with Matt HD being the base object. Perhaps I didn’t merge geografts before.

    The base object must be Matt HD. With Matt Mesh, you see both the shell and the geograft part of the HD mesh without shell at the same time.

  18. Thomas Larsson repo owner

    Is there something to add? It would of course be better if the plugin chose the right base object automatically, but once you know about it the fix is simple. Somebody using geonode shell should count as an advanced user who can handle this.

  19. Alessandro Padovani

    I’m not sure what you mean. With geonode shells we must always see both the geograft and the shell, as the shell is a alpha mapped overlay, otherwise with only the shell visible we see holes. So we have to choose as base object either the base mesh or the HD mesh depending if the figure is HD or not.

    Yes I guess the user expects the addon to setup the base object correctly, depending on the “keep base mesh“ and “merge geografts“ options. The pseudo code below should do. Of course if you’re not interested we can close as wontfix.

    Let us know.

    # set base mesh for geonode shell
    # we give precedence to HD if there's both base and HD meshes
    if merge geograft is off
        set the HD geograft as base mesh, or base if there's no HD
    else
        set the HD figure as base mesh, or base if there's no HD
    

  20. Log in to comment