@@ -751,7 +751,7 @@ def get_resource_node(tree, group_name):
751751
752752 return group_node
753753
754- def generate_alpha_blend_output (node_tree , stg_paths , output_material_node ):
754+ def generate_alpha_blend_output (shader_data , stg_node , node_tree , stg_paths , output_material_node ):
755755 transparent_node = node_tree .nodes .new ("ShaderNodeBsdfTransparent" )
756756 diffuse_node = node_tree .nodes .new ("ShaderNodeBsdfDiffuse" )
757757 mix_node = node_tree .nodes .new ("ShaderNodeMixShader" )
@@ -775,9 +775,12 @@ def generate_alpha_blend_output(node_tree, stg_paths, output_material_node):
775775 connect_inputs (node_tree , transparent_node , "BSDF" , mix_node , 1 )
776776 connect_inputs (node_tree , diffuse_node , "BSDF" , mix_node , 2 )
777777
778+ if len (shader_data ["stages" ]) == 0 :
779+ connect_inputs (node_tree , stg_node , "Map A" , diffuse_node , "Color" )
780+
778781 return mix_node
779782
780- def generate_add_blend_output (node_tree , stg_paths , output_material_node ):
783+ def generate_add_blend_output (shader_data , stg_node , node_tree , stg_paths , output_material_node ):
781784 emission_node = node_tree .nodes .new ("ShaderNodeEmission" )
782785 transparent_node = node_tree .nodes .new ("ShaderNodeBsdfTransparent" )
783786 add_node = node_tree .nodes .new ("ShaderNodeAddShader" )
@@ -795,6 +798,9 @@ def generate_add_blend_output(node_tree, stg_paths, output_material_node):
795798 connect_inputs (node_tree , emission_node , "Emission" , add_node , 0 )
796799 connect_inputs (node_tree , transparent_node , "BSDF" , add_node , 1 )
797800
801+ if len (shader_data ["stages" ]) == 0 :
802+ connect_inputs (node_tree , stg_node , "Map A" , emission_node , "Color" )
803+
798804 return add_node
799805
800806def get_scale (field_value ):
@@ -973,21 +979,21 @@ def generate_shader_transparent_generic(mat, shader_asset, permutation_index, as
973979 final_node = None
974980 fbf_enum = FramebufferBlendFunctionEnum (stg_node .inputs ["Framebuffer Blend Function" ].default_value )
975981 if fbf_enum == FramebufferBlendFunctionEnum .alpha_blend :
976- final_node = generate_alpha_blend_output (mat .node_tree , stg_paths , output_material_node )
982+ final_node = generate_alpha_blend_output (shader_data , stg_node , mat .node_tree , stg_paths , output_material_node )
977983 elif fbf_enum == FramebufferBlendFunctionEnum .multiply :
978- final_node = generate_add_blend_output (mat .node_tree , stg_paths , output_material_node )
984+ final_node = generate_add_blend_output (shader_data , stg_node , mat .node_tree , stg_paths , output_material_node )
979985 elif fbf_enum == FramebufferBlendFunctionEnum .double_multiply :
980- final_node = generate_add_blend_output (mat .node_tree , stg_paths , output_material_node )
986+ final_node = generate_add_blend_output (shader_data , stg_node , mat .node_tree , stg_paths , output_material_node )
981987 elif fbf_enum == FramebufferBlendFunctionEnum .add :
982- final_node = generate_add_blend_output (mat .node_tree , stg_paths , output_material_node )
988+ final_node = generate_add_blend_output (shader_data , stg_node , mat .node_tree , stg_paths , output_material_node )
983989 elif fbf_enum == FramebufferBlendFunctionEnum .subtract :
984- final_node = generate_add_blend_output (mat .node_tree , stg_paths , output_material_node )
990+ final_node = generate_add_blend_output (shader_data , stg_node , mat .node_tree , stg_paths , output_material_node )
985991 elif fbf_enum == FramebufferBlendFunctionEnum .component_min :
986- final_node = generate_add_blend_output (mat .node_tree , stg_paths , output_material_node )
992+ final_node = generate_add_blend_output (shader_data , stg_node , mat .node_tree , stg_paths , output_material_node )
987993 elif fbf_enum == FramebufferBlendFunctionEnum .component_max :
988- final_node = generate_add_blend_output (mat .node_tree , stg_paths , output_material_node )
994+ final_node = generate_add_blend_output (shader_data , stg_node , mat .node_tree , stg_paths , output_material_node )
989995 elif fbf_enum == FramebufferBlendFunctionEnum .alpha_multiply_add :
990- final_node = generate_alpha_blend_output (mat .node_tree , stg_paths , output_material_node )
996+ final_node = generate_alpha_blend_output (shader_data , stg_node , mat .node_tree , stg_paths , output_material_node )
991997
992998 if final_node is not None :
993999 emission_node = mat .node_tree .nodes .new ("ShaderNodeEmission" )
@@ -1004,4 +1010,4 @@ def generate_shader_transparent_generic(mat, shader_asset, permutation_index, as
10041010 connect_inputs (mat .node_tree , mix_node , "Shader" , output_material_node , "Surface" )
10051011
10061012 connect_inputs (mat .node_tree , stg_node , "Power" , emission_node , 1 )
1007- connect_inputs (mat .node_tree , stg_node , "Color Of Emitted Light " , emission_node , 0 )
1013+ connect_inputs (mat .node_tree , stg_node , "Map A " , emission_node , 0 )
0 commit comments