From afbccd415d755b36f17300d65345bb774cf73fb6 Mon Sep 17 00:00:00 2001 From: t3du <32546729+t3du@users.noreply.github.com> Date: Sat, 14 Dec 2024 09:25:09 -0300 Subject: [PATCH 1/2] Update nodes_shader.py --- armory/blender/arm/material/cycles_nodes/nodes_shader.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/armory/blender/arm/material/cycles_nodes/nodes_shader.py b/armory/blender/arm/material/cycles_nodes/nodes_shader.py index 0a4620e65..c009db465 100644 --- a/armory/blender/arm/material/cycles_nodes/nodes_shader.py +++ b/armory/blender/arm/material/cycles_nodes/nodes_shader.py @@ -184,7 +184,14 @@ def parse_bsdfglossy(node: bpy.types.ShaderNodeBsdfGlossy, out_socket: NodeSocke state.out_basecol = c.parse_vector_input(node.inputs[0]) state.out_roughness = c.parse_value_input(node.inputs[1]) state.out_metallic = '1.0' - +else: + def parse_bsdfglossy(node: bpy.types.ShaderNodeBsdfAnisotropic, out_socket: NodeSocket, state: ParserState) -> None: + if state.parse_surface: + c.write_normal(node.inputs[4]) + state.out_basecol = c.parse_vector_input(node.inputs[0]) + state.out_roughness = c.parse_value_input(node.inputs[1]) + state.out_metallic = '1.0' + def parse_ambientocclusion(node: bpy.types.ShaderNodeAmbientOcclusion, out_socket: NodeSocket, state: ParserState) -> None: if state.parse_surface: From df779aa2ff40ccdd23335defbfa23f4789b8ce15 Mon Sep 17 00:00:00 2001 From: t3du <32546729+t3du@users.noreply.github.com> Date: Sat, 14 Dec 2024 09:25:55 -0300 Subject: [PATCH 2/2] Update node_meta.py --- armory/blender/arm/material/node_meta.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/armory/blender/arm/material/node_meta.py b/armory/blender/arm/material/node_meta.py index 9d1a46891..5df5f06b5 100644 --- a/armory/blender/arm/material/node_meta.py +++ b/armory/blender/arm/material/node_meta.py @@ -203,10 +203,11 @@ class MaterialNodeMeta: ALL_NODES['SEPARATE_COLOR'] = MaterialNodeMeta(parse_func=nodes_converter.parse_separate_color) ALL_NODES['COMBINE_COLOR'] = MaterialNodeMeta(parse_func=nodes_converter.parse_combine_color) if bpy.app.version < (4, 1, 0): - ALL_NODES['BSDF_GLOSSY'] = MaterialNodeMeta(parse_func=nodes_shader.parse_bsdfglossy) ALL_NODES['BSDF_VELVET'] = MaterialNodeMeta(parse_func=nodes_shader.parse_bsdfvelvet) ALL_NODES['TEX_MUSGRAVE'] = MaterialNodeMeta(parse_func=nodes_texture.parse_tex_musgrave) +ALL_NODES['BSDF_GLOSSY'] = MaterialNodeMeta(parse_func=nodes_shader.parse_bsdfglossy) + def get_node_meta(node: bpy.types.Node) -> MaterialNodeMeta: type_identifier = node.type if node.type != 'CUSTOM' else node.bl_idname return ALL_NODES[type_identifier]