diff --git a/io_scene_gltf2/__init__.py b/io_scene_gltf2/__init__.py index d418f8181a78783a6e12650293c12225a399e89d..fbb7b35df300989ceef8c1370b9d47e4677b93ed 100755 --- a/io_scene_gltf2/__init__.py +++ b/io_scene_gltf2/__init__.py @@ -4,7 +4,7 @@ bl_info = { 'name': 'glTF 2.0 format', 'author': 'Julien Duroure, Scurest, Norbert Nopper, Urs Hanselmann, Moritz Becher, Benjamin Schmithüsen, Jim Eckerlein, and many external contributors', - "version": (3, 4, 3), + "version": (3, 4, 4), 'blender': (3, 3, 0), 'location': 'File > Import-Export', 'description': 'Import-Export as glTF 2.0', @@ -1257,7 +1257,7 @@ class GLTF_AddonPreferences(bpy.types.AddonPreferences): settings_node_ui : bpy.props.BoolProperty( default= False, - description="Displays glTF Settings node in Shader Editor (Menu Add > Output)" + description="Displays glTF Material Output node in Shader Editor (Menu Add > Output)" ) KHR_materials_variants_ui : bpy.props.BoolProperty( diff --git a/io_scene_gltf2/blender/com/gltf2_blender_material_helpers.py b/io_scene_gltf2/blender/com/gltf2_blender_material_helpers.py index a44562a1dd0586c3276755a79b90c0f1df89f0e9..0bca993353a67461180e0a0e62ba3d699e30f961 100755 --- a/io_scene_gltf2/blender/com/gltf2_blender_material_helpers.py +++ b/io_scene_gltf2/blender/com/gltf2_blender_material_helpers.py @@ -3,9 +3,13 @@ import bpy -def get_gltf_node_name(): +# Get compatibility at export with old files +def get_gltf_node_old_name(): return "glTF Settings" +def get_gltf_node_name(): + return "glTF Material Output" + def create_settings_group(name): gltf_node_group = bpy.data.node_groups.new(name, 'ShaderNodeTree') gltf_node_group.inputs.new("NodeSocketFloat", "Occlusion") diff --git a/io_scene_gltf2/blender/com/gltf2_blender_ui.py b/io_scene_gltf2/blender/com/gltf2_blender_ui.py index 6a66763024487ba019e55db36ec46a2d12900fd6..2f24c0813193e919b08fa1d808dae01fba00fa0a 100644 --- a/io_scene_gltf2/blender/com/gltf2_blender_ui.py +++ b/io_scene_gltf2/blender/com/gltf2_blender_ui.py @@ -5,7 +5,7 @@ import bpy from ..com.gltf2_blender_material_helpers import get_gltf_node_name, create_settings_group from ..com.gltf2_blender_material_helpers import get_gltf_pbr_non_converted_name, create_gltf_pbr_non_converted_group -################ glTF Settings node ########################################### +################ glTF Material Output node ########################################### def create_gltf_ao_group(operator, group_name): @@ -16,10 +16,9 @@ def create_gltf_ao_group(operator, group_name): class NODE_OT_GLTF_SETTINGS(bpy.types.Operator): bl_idname = "node.gltf_settings_node_operator" - bl_label = "glTF Settings" + bl_label = "glTF Material Ouptut" bl_description = "Add a node to the active tree for glTF export" - @classmethod def poll(cls, context): space = context.space_data diff --git a/io_scene_gltf2/blender/exp/gltf2_blender_get.py b/io_scene_gltf2/blender/exp/gltf2_blender_get.py index 17eacf8602f8fc1d9d9cea6b94bdbbfaebfac4aa..da6e9b57a998ad1abe2d0d206e11d85d0b2aedeb 100755 --- a/io_scene_gltf2/blender/exp/gltf2_blender_get.py +++ b/io_scene_gltf2/blender/exp/gltf2_blender_get.py @@ -4,7 +4,7 @@ import bpy from mathutils import Vector, Matrix -from ..com.gltf2_blender_material_helpers import get_gltf_node_name, get_gltf_pbr_non_converted_name +from ..com.gltf2_blender_material_helpers import get_gltf_node_name, get_gltf_node_old_name, get_gltf_pbr_non_converted_name from ...blender.com.gltf2_blender_conversion import texture_transform_blender_to_gltf from io_scene_gltf2.io.com import gltf2_io_debug from io_scene_gltf2.blender.exp import gltf2_blender_search_node_tree @@ -94,11 +94,11 @@ def get_socket_old(blender_material: bpy.types.Material, name: str): :param name: the name of the socket :return: a blender NodeSocket """ - gltf_node_group_name = get_gltf_node_name().lower() + gltf_node_group_names = [get_gltf_node_name().lower(), get_gltf_node_old_name().lower()] if blender_material.node_tree and blender_material.use_nodes: nodes = [n for n in blender_material.node_tree.nodes if \ isinstance(n, bpy.types.ShaderNodeGroup) and \ - (n.node_tree.name.startswith('glTF Metallic Roughness') or n.node_tree.name.lower() == gltf_node_group_name)] + (n.node_tree.name.startswith('glTF Metallic Roughness') or n.node_tree.name.lower() in gltf_node_group_names)] inputs = sum([[input for input in node.inputs if input.name == name] for node in nodes], []) if inputs: return inputs[0] diff --git a/io_scene_gltf2/blender/imp/gltf2_blender_pbrMetallicRoughness.py b/io_scene_gltf2/blender/imp/gltf2_blender_pbrMetallicRoughness.py index cc001b72aad6746ca2bedbcfe812c43f6108fc44..696aa1fc6a5e78f46037c70e59b893ccd6cff537 100755 --- a/io_scene_gltf2/blender/imp/gltf2_blender_pbrMetallicRoughness.py +++ b/io_scene_gltf2/blender/imp/gltf2_blender_pbrMetallicRoughness.py @@ -65,7 +65,7 @@ def pbr_metallic_roughness(mh: MaterialHelper): need_volume_node = True - # We also need glTF Settings Node, to set thicknessFactor and thicknessTexture + # We also need glTF Material Output Node, to set thicknessFactor and thicknessTexture mh.settings_node = make_settings_node(mh) mh.settings_node.location = additional_location mh.settings_node.width = 180