Some materials cause errors on import in BSDF and Principled modes.

Issue #981 resolved
Kat created an issue

Daz: 4.20.0.17, Blender: 3.1.2, Diffeo: 1.6.2.0982

Hello, while importing some environments, I found that materials using the Iray Uber shader in weighted mode can cause Diffeo to error when in BSDF or Principled mode. So far, I’ve only been able to achieve the error if Glossy Weight is set above 0, but I believe it’s possible that other material configurations may be affected by this same issue.

Attached is a duf with a cube which has an appropriate material to cause this error.

Log:

Loading /home/kat/Blender/DAZ/Scenes/crash_test.duf
Parsing data
Preprocessing...
Building objects...
Python: Traceback (most recent call last):
  File "/home/kat/.config/blender/3.1/scripts/addons/Diffeomorphic-import_daz-c619249a30be/error.py", line 208, in execute
    self.run(context)
  File "/home/kat/.config/blender/3.1/scripts/addons/Diffeomorphic-import_daz-c619249a30be/main.py", line 230, in run
    self.loadDazFile(filepath, context)
  File "/home/kat/.config/blender/3.1/scripts/addons/Diffeomorphic-import_daz-c619249a30be/main.py", line 156, in loadDazFile
    asset.build(context)
  File "/home/kat/.config/blender/3.1/scripts/addons/Diffeomorphic-import_daz-c619249a30be/cycles.py", line 86, in build
    self.tree.build()
  File "/home/kat/.config/blender/3.1/scripts/addons/Diffeomorphic-import_daz-c619249a30be/cycles.py", line 343, in build
    self.buildLayers()
  File "/home/kat/.config/blender/3.1/scripts/addons/Diffeomorphic-import_daz-c619249a30be/cycles.py", line 354, in buildLayers
    self.buildLayer("")
  File "/home/kat/.config/blender/3.1/scripts/addons/Diffeomorphic-import_daz-c619249a30be/cycles.py", line 454, in buildLayer
    self.buildWeighted()
  File "/home/kat/.config/blender/3.1/scripts/addons/Diffeomorphic-import_daz-c619249a30be/cycles.py", line 1081, in buildWeighted
    self.links.new(self.getEeveeSocket(self.diffuseEevee), node.inputs["Diffuse Eevee"])
TypeError: NodeLinks.new(): error with argument 1, "input" -  Function.input does not support a 'None' assignment NodeSocket type

Comments (5)

  1. Alessandro Padovani

    This works fine with “always“ as eevee path in the global settings, while it breaks otherwise. See #965. If it is useful the uber weighted mode is #867.

  2. Log in to comment