4.0 BSDF with SSS causes error
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)
-
reporter -
diffeomorphic 1.7.2.1905, blender 4.0
Yes I can confirm the issue.
steps:
- in global settings set “sss skin”
- import G8F with bsdf materials
-
- changed status to open
-
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.
-
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.
-
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.
-
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.
-
reporter Fixed. Thank you.
-
reporter - changed status to resolved
Fixed.
-
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.
-
repo owner - changed status to open
-
repo owner - changed status to resolved
- Log in to comment
Here’s how BSDF SSS looks in 3.6 without any errors: