4.0 BSDF with SSS causes error

Issue #1832 resolved
Maneki created an issue

When I load a character with SSS activated in the global settings and then select BSDF at easy import, I get a error.
Keep in mind that this error appears when I try to load the character after the error appeared. This error always appears at the first attempt of loading a character when I started Blender. The character looks really grey after brute forcing it with a 2nd loading attempt, so I assume it’s bugged regardless.

Comments (12)

  1. Alessandro Padovani

    diffeomorphic 1.7.2.1905, blender 4.0

    Yes I can confirm the issue.

    steps:

    1. in global settings set “sss skin”
    2. import G8F with bsdf materials

  2. Thomas Larsson repo owner

    Fixed in last commit. The daz subsurf group had input sockets called IOR and Anisotropy, but the corresponding blender node lacks them. In stable Blender 4.0 linking to a non-existing socket causes an error. I didn’t notice the problem because I’m still on the beta version, where Blender just ignores the bad link without errors.

  3. Alessandro Padovani

    Commit d894d72 works fine.

    Removing ior and anisotropy from the sss group is fair enough, since we don’t use those values for conversion, iray doesn’t get them. But please note that 4.0 can open 3.6 scenes with the old sss group just fine, with unused sockets, so I’m not sure what you mean that this is a blender error, it is not. If you mean that the blender api returns an error when trying to connect an inexistent socket, then it can be avoided by checking the sss type first, or handled.

    Then again removing the sockets is fair enough if this is convenient for the code. Unless I miss something. Let us know.

  4. Thomas Larsson repo owner

    The ior and anisotropy sockets are useless, since they are not connected to anything inside the daz subsurface group. Trying to connect them to non-existing inputs of the sss node results in an error. This is new in stable 4.0, because the error didn’t happen in the beta that I was using, nor in 3.6.

  5. Alessandro Padovani

    They are useless with burley, but connected with random walk. To avoid the error you could check the sss type first. But again removing the sockets completely is fair enough if this is convenient for the code, since we don’t use those values for conversion.

  6. Thomas Larsson repo owner

    Oh, I didn’t remember that random walk has more sockets. The ior and anisotropy sockets are reintroduced but not connected if the sss method is burley.

  7. Log in to comment