genesis 8.1 eye material breaks with genesis 8 skin materials

Issue #2182 resolved
Shayn Sn created an issue

To recreate issue : 1. Start with any genesis 8.1 figure
2. apply any genesis 8 character material to it
3. apply only genesis 8.1 eye material.
The result should be like something on the right side of the picture.
This used to work up until a couple months ago, genesis 8.1 eye materials look better and it would be nice if you could find out why it’s happening and try to fix it, my guess is something wrong with the UV maps, i’ve tried to change uv maps in daz and blender but it does not seem to fix the issue

Comments (11)

  1. Alessandro Padovani

    4.2.1.2288

    Yes I can confirm the issue, tried with Victoria 8 and Victoria 8.1. The culprit is the missing uv map in the textures. That is, we correctly prune the active uv map from the textures as it is the default. But we can’t prune non active uv maps. If we look the non pruned version we see that the addon uses texture coordinates both for the active and non active uv maps. This is wrong.

    https://docs.blender.org/manual/en/latest/render/shader_nodes/input/texture_coordinate.html

    • active uv map: use texture coordinates, which works for material preview and can be pruned for textures, unless we have tiling
    • non active uv maps: use uv map, which doesn’t work for material preview and can’t be pruned

    In this case the eye materials use the genesis 8.1 uv map, which needs a uv map node because it is non active.

    p.s. This is a regression, at some point we got it working, but every while and then it seems to break back when we change something.

  2. Thomas Larsson repo owner

    How do you create a G8 character with G8.1 eye materials?

    Does the problem persist if you disable Prune Node Trees in the global settings?

  3. Shayn Sn reporter
    1. You create a g8.1 character and you apply genesis 8 skin material to them but then reapply just the g8.1 eye material as they look more pleasing in renders than g8 eye material.
    2. I disabled prune node trees in global settings but the issue seems to still persist.

  4. Alessandro Padovani

    It’s because everything uses the texture coordinate node, as explained above, which gets the active uv. Anyway here’s a test scene using Victoria 8 and 8.1 materials. The issue should be there for any scene with multiple uv maps on the same figure.

  5. Alessandro Padovani

    Commit a8f5b2a works fine, thank you. If there’s nothing to add we can close as resolved.

    note. I see that the pruning step replaces uv maps with texture coordinates for the active uv map. So it is necessary to have pruning active for this to work, but given that it is a debug option this is ok.

  6. Thomas Larsson repo owner

    Yes, the replacement has to be done at the end, because the materials are built independently of the meshes. Hence which uv map is active is not known when building the materials.

  7. Log in to comment