Page MenuHome

Principled BSDF Shader node - Input number 16 does not exist
Closed, InvalidPublic

Description

System Information
Windows 7, GPU
CPU = Intel i7
GPU = Nvidia GTX 10800

Blender Version
Broken: 2.79 Release Candidate
Date: 2017-08-01 17:31
Hash: 5e9132b

Short description of error
In the new "Principled BSDF Shader" node, Input #16 doesn't exist.
There are 19 inputs, and they should be numbered 0-to-18.
But they are numbered 0-to-19 because "16" is skipped over and is not used.
Using "16" in a Python script creates no link but also generates no error message.

Exact steps for others to reproduce the error

Start with a default project with the "Cube" object, and open a "node editing" window and a "Python console" window.

Enter these Python commands...

material_in_slot_0 = bpy.data.objects["Cube"].material_slots[0].material
material_in_slot_0.use_nodes= True

MyShaderNode = material_in_slot_0.node_tree.nodes.new(type = "ShaderNodeBsdfPrincipled")
MyBaseColorNode = material_in_slot_0.node_tree.nodes.new(type = "ShaderNodeTexImage")

material_in_slot_0.node_tree.links.new(MyBaseColorNode.outputs["Color"], MyShaderNode.inputs[0]) #Base color
material_in_slot_0.node_tree.links.new(MyBaseColorNode.outputs["Color"], MyShaderNode.inputs[1])
material_in_slot_0.node_tree.links.new(MyBaseColorNode.outputs["Color"], MyShaderNode.inputs[2])
#...etc...
material_in_slot_0.node_tree.links.new(MyBaseColorNode.outputs["Color"], MyShaderNode.inputs[15]) #Transmission - correct

material_in_slot_0.node_tree.links.new(MyBaseColorNode.outputs["Color"], MyShaderNode.inputs[16]) #<<< Nothing happens <<< THIS IS THE BUG

material_in_slot_0.node_tree.links.new(MyBaseColorNode.outputs["Color"], MyShaderNode.inputs[17]) #Normal - but if you count, it should be 16
material_in_slot_0.node_tree.links.new(MyBaseColorNode.outputs["Color"], MyShaderNode.inputs[18])
material_in_slot_0.node_tree.links.new(MyBaseColorNode.outputs["Color"], MyShaderNode.inputs[19]) # Tangent - but if you count, "19" should not exist, but it works

material_in_slot_0.node_tree.links.new(MyBaseColorNode.outputs["Color"], MyShaderNode.inputs[20]) #Gives an error, as it should - but "19" should also give an error

Closing comments
This is my first-ever entry here. I hope I did okay.

Details

Type
Bug

Event Timeline

Dennis (justaviking) updated the task description. (Show Details)
Dennis (justaviking) renamed this task from Principled BSDF Shader node - Input number 16 does not exist, but 17 does to Principled BSDF Shader node - Input number 16 does not exist.

When you switch from Multiscatter GGX to GGX, you will see a Transmission Roughness Parameter beeing added which should be Input Number 16.

Oh, well that explains it.
Thank you for the reply.

Lukas Stockner (lukasstockner97) closed this task as Invalid.

Seems like this was resolved, so I'll just go ahead and close it. If there's still an issue, feel free to reopen.

Yes, fully resolved.

Thank you both for the prompt responses.