Dicktator Geoshell missing in Blender

Issue #1884 resolved
Tom created an issue

Daz Importer: 1.7.3.1962

Blender: 4.0.2

Character: G8.1 male
Easy import: Single Principled
Global Setting Shell method: Geometry Node

Shell is missing with white texture on Torso.
Shell appears on Extended Principled.

Imported with default Operator Preset.

Comments (13)

  1. Thomas Larsson repo owner

    The root cause is that dicktator was made for G8M but your character is G8.1M. Since G8M doesn’t have Body and Head materials, the shell is enabled by default for these materials. If you disable them in DS things should work. I cannot check myself, because I don’t have this character and DS changes the materials due to missing textures.

  2. Tom reporter

    Thanks for the replies. Would you mind showing me how I should go about fixing the shell by hand if I were to stay in Single Principled?

    I disabled the body and head options, and the white part is gone, but the shell is still missing.

    Anyt images you’d like me to provide?

  3. Alessandro Padovani

    diffeomorphic 1.7.3.1962

    bug. build unused textures. It seems that the shell textures are not imported for single principled, same with the shell uv map it’s not imported. I understand that “build unused textures“ is supposed to import the shell textures if not used.

    steps:

    1. set “build unused textures“ in global settings
    2. import G8F with futalicious as single principled, don’t merge armatures or geografts
    3. check futalicious, the shell textures and uv map are not imported

  4. Tom reporter

    This is off topic but while I’m here, I noticed that the eyelashes cutout is not completely alpha. Is this a bug? Imported with Extended Principled

  5. Thomas Larsson repo owner

    Shells and single principled are incompatible. If single principled is selected, no shell node group is generated. And if the shell method is set to geonodes, it is the main mesh that gets the nodes modifier, not the geograft.

    However, it doesn’t have to be that way. In the last commit shells and material method are decoupled from each other. Now shell generation is controlled by a new option called “Shells” in the Material section. So the material method can be either BSDF, Extended principled, and single principled, and all can be with or without shells.

    And an unused texture node is now generated inside the shell node group if needed.

  6. Thomas Larsson repo owner

    On second thought, adding a new global setting is unnecessary. Instead there is a new shell method: Ignore. Now the shell and material methods are orthogonal. The shell method determines how shells are handled, and the material method what kind of node tree is generated, and they can be mixed freely.

  7. Alessandro Padovani

    commit 0aacbfa

    @Thomas, I don’t think this resolves the issue. Actually what you do is to generate the shell as a single principled material, this can’t be exported to game engines that’s what single principled is for. The purpose of single principled is to a have a single principled node, without extra nodes including shells. Nevertheless unused textures should be loaded to allow the user to fix materials, including shells textures and uv maps, if “build unused textures“ is on.

    What the user could do with unused textures is to mix them in the single principled inputs, for example to mix the diffuse channel with the geograft. Basically we turn the shell into a LIE. This is not the same as a full shell, because this way we only mix textures and not shaders, so both the shell and the figure share the same material. But it is what can be done with single principled to approximate a shell, and retain a single principled node.

    Let us know. Personally I don’t use single principled nor I export to game engines, so it’s fine for me if you want to keep things as they are now.

    @Tom, I can’t reproduce the issue with the eyelashes, here the transparency works fine. May be your eevee settings are insufficient but in this case you should get a warning when you load the scene. In the global settings there’s options to automatically update eevee and cycles to the minimum requirements. Unless the issue is for a specific figure or you have specific steps to reproduce it.

    my steps:

    1. import G8F as single or extended principled
    2. set the viewport as material preview, or render with eevee

  8. Thomas Larsson repo owner

    Conceptually single principled and material shells are separate issues. If you want to export to game engines without shells, you can easily achieve that by setting the shell method to ignore. But some people, like Tom, might want to combine them. Since this doesn’t involve any extra work I see no reason why it should be impossible.

    Moving the unused textures outside the shell node would mess things up, since several materials often use the same node group.

  9. Log in to comment