Fix mixing multiple cycles shaders in one material
This commit is contained in:
parent
138386f02a
commit
7057ec4ba6
|
@ -204,6 +204,8 @@ def parse_shader(node: bpy.types.Node, socket: bpy.types.NodeSocket) -> Tuple[st
|
|||
'BSDF_VELVET': nodes_shader.parse_bsdfvelvet,
|
||||
}
|
||||
|
||||
state.reset_outs()
|
||||
|
||||
if node.type in node_parser_funcs:
|
||||
node_parser_funcs[node.type](node, socket, state)
|
||||
|
||||
|
|
|
@ -64,6 +64,16 @@ class ParserState:
|
|||
self.out_opacity: floatstr = '1.0'
|
||||
self.out_emission: floatstr = '0.0'
|
||||
|
||||
def reset_outs(self):
|
||||
"""Reset the shader output values to their default values."""
|
||||
self.out_basecol = 'vec3(0.8)'
|
||||
self.out_roughness = '0.0'
|
||||
self.out_metallic = '0.0'
|
||||
self.out_occlusion = '1.0'
|
||||
self.out_specular = '1.0'
|
||||
self.out_opacity = '1.0'
|
||||
self.out_emission = '0.0'
|
||||
|
||||
def get_outs(self) -> Tuple[vec3str, floatstr, floatstr, floatstr, floatstr, floatstr, floatstr]:
|
||||
"""Return the shader output values as a tuple."""
|
||||
return (self.out_basecol, self.out_roughness, self.out_metallic, self.out_occlusion, self.out_specular,
|
||||
|
|
Loading…
Reference in a new issue