[Bf-extensions-cvs] [08352b3a] master: glTF importer: better names for UVMap and VertexColor
Julien Duroure
noreply at git.blender.org
Fri Dec 6 19:47:33 CET 2019
Commit: 08352b3af7700c368c777ae7d840c2f80ad360db
Author: Julien Duroure
Date: Fri Dec 6 19:47:06 2019 +0100
Branches: master
https://developer.blender.org/rBA08352b3af7700c368c777ae7d840c2f80ad360db
glTF importer: better names for UVMap and VertexColor
===================================================================
M io_scene_gltf2/__init__.py
M io_scene_gltf2/blender/imp/gltf2_blender_KHR_materials_pbrSpecularGlossiness.py
M io_scene_gltf2/blender/imp/gltf2_blender_map_normal.py
M io_scene_gltf2/blender/imp/gltf2_blender_material_utils.py
M io_scene_gltf2/blender/imp/gltf2_blender_pbrMetallicRoughness.py
M io_scene_gltf2/blender/imp/gltf2_blender_primitive.py
===================================================================
diff --git a/io_scene_gltf2/__init__.py b/io_scene_gltf2/__init__.py
index 9a381211..a696863e 100755
--- a/io_scene_gltf2/__init__.py
+++ b/io_scene_gltf2/__init__.py
@@ -15,7 +15,7 @@
bl_info = {
'name': 'glTF 2.0 format',
'author': 'Julien Duroure, Norbert Nopper, Urs Hanselmann, Moritz Becher, Benjamin Schmithüsen, Jim Eckerlein, and many external contributors',
- "version": (1, 1, 20),
+ "version": (1, 1, 21),
'blender': (2, 81, 6),
'location': 'File > Import-Export',
'description': 'Import-Export as glTF 2.0',
diff --git a/io_scene_gltf2/blender/imp/gltf2_blender_KHR_materials_pbrSpecularGlossiness.py b/io_scene_gltf2/blender/imp/gltf2_blender_KHR_materials_pbrSpecularGlossiness.py
index 7e5e11e4..961b6f7a 100755
--- a/io_scene_gltf2/blender/imp/gltf2_blender_KHR_materials_pbrSpecularGlossiness.py
+++ b/io_scene_gltf2/blender/imp/gltf2_blender_KHR_materials_pbrSpecularGlossiness.py
@@ -62,7 +62,7 @@ class BlenderKHR_materials_pbrSpecularGlossiness():
else:
# Create vertexcolor node to get COLOR_0 data
vertexcolor_node = node_tree.nodes.new('ShaderNodeVertexColor')
- vertexcolor_node.layer_name = 'COLOR_0'
+ vertexcolor_node.layer_name = 'Col'
vertexcolor_node.location = -500, 0
# links
@@ -75,7 +75,7 @@ class BlenderKHR_materials_pbrSpecularGlossiness():
# TODO tree locations
# Create vertexcolor / separate / math nodes
vertexcolor_node = node_tree.nodes.new('ShaderNodeVertexColor')
- vertexcolor_node.layer_name = 'COLOR_0'
+ vertexcolor_node.layer_name = 'Col'
separate_vertex_color = node_tree.nodes.new('ShaderNodeSeparateRGB')
math_vc_R = node_tree.nodes.new('ShaderNodeMath')
@@ -151,7 +151,7 @@ class BlenderKHR_materials_pbrSpecularGlossiness():
if vertex_color:
# Create vertexcolor / separate / math nodes
vertexcolor_node = node_tree.nodes.new('ShaderNodeVertexColor')
- vertexcolor_node.layer_name = 'COLOR_0'
+ vertexcolor_node.layer_name = 'Col'
vertexcolor_node.location = -2000, 250
separate_vertex_color = node_tree.nodes.new('ShaderNodeSeparateRGB')
diff --git a/io_scene_gltf2/blender/imp/gltf2_blender_map_normal.py b/io_scene_gltf2/blender/imp/gltf2_blender_map_normal.py
index e59dab6c..a0d19146 100755
--- a/io_scene_gltf2/blender/imp/gltf2_blender_map_normal.py
+++ b/io_scene_gltf2/blender/imp/gltf2_blender_map_normal.py
@@ -66,7 +66,7 @@ class BlenderNormalMap():
if 'texCoord' in tex_info.extensions['KHR_texture_transform']:
texcoord_idx = tex_info.extensions['KHR_texture_transform']['texCoord']
- normalmap_node.uv_map = 'TEXCOORD_%d' % texcoord_idx
+ normalmap_node.uv_map = 'UVMap' if texcoord_idx == 0 else 'UVMap.%03d' % texcoord_idx
# Set strength
if pymaterial.normal_texture.scale is not None:
diff --git a/io_scene_gltf2/blender/imp/gltf2_blender_material_utils.py b/io_scene_gltf2/blender/imp/gltf2_blender_material_utils.py
index c9d81a4f..1d2664ef 100644
--- a/io_scene_gltf2/blender/imp/gltf2_blender_material_utils.py
+++ b/io_scene_gltf2/blender/imp/gltf2_blender_material_utils.py
@@ -84,7 +84,7 @@ def make_texture_block(gltf, node_tree, tex_info, location, label, name=None, co
if 'texCoord' in tex_info.extensions['KHR_texture_transform']:
texcoord_idx = tex_info.extensions['KHR_texture_transform']['texCoord']
- uv_map.uv_map = 'TEXCOORD_%d' % texcoord_idx
+ uv_map.uv_map = 'UVMap' if texcoord_idx == 0 else 'UVMap.%03d' % texcoord_idx
# Links
node_tree.links.new(mapping.inputs[0], uv_map.outputs[0])
diff --git a/io_scene_gltf2/blender/imp/gltf2_blender_pbrMetallicRoughness.py b/io_scene_gltf2/blender/imp/gltf2_blender_pbrMetallicRoughness.py
index 5f796e51..04e68823 100755
--- a/io_scene_gltf2/blender/imp/gltf2_blender_pbrMetallicRoughness.py
+++ b/io_scene_gltf2/blender/imp/gltf2_blender_pbrMetallicRoughness.py
@@ -73,7 +73,7 @@ class BlenderPbr():
else:
# Create attribute node to get COLOR_0 data
vertexcolor_node = node_tree.nodes.new('ShaderNodeVertexColor')
- vertexcolor_node.layer_name = 'COLOR_0'
+ vertexcolor_node.layer_name = 'Col'
vertexcolor_node.location = -500, 0
if nodetype == "principled":
@@ -96,7 +96,7 @@ class BlenderPbr():
# TODO tree locations
# Create attribute / separate / math nodes
vertexcolor_node = node_tree.nodes.new('ShaderNodeVertexColor')
- vertexcolor_node.layer_name = 'COLOR_0'
+ vertexcolor_node.layer_name = 'Col'
vc_mult_node = node_tree.nodes.new('ShaderNodeMixRGB')
vc_mult_node.blend_type = 'MULTIPLY'
@@ -140,7 +140,7 @@ class BlenderPbr():
if vertex_color:
# Create attribute / separate / math nodes
vertexcolor_node = node_tree.nodes.new('ShaderNodeVertexColor')
- vertexcolor_node.layer_name = 'COLOR_0'
+ vertexcolor_node.layer_name = 'Col'
vertexcolor_node.location = -2000, 250
vc_mult_node = node_tree.nodes.new('ShaderNodeMixRGB')
diff --git a/io_scene_gltf2/blender/imp/gltf2_blender_primitive.py b/io_scene_gltf2/blender/imp/gltf2_blender_primitive.py
index 2a7eec17..58fc9b9c 100755
--- a/io_scene_gltf2/blender/imp/gltf2_blender_primitive.py
+++ b/io_scene_gltf2/blender/imp/gltf2_blender_primitive.py
@@ -126,10 +126,10 @@ class BlenderPrimitive():
)
break
- layer_name = 'COLOR_%d' % set_num
+ layer_name = 'Col' if set_num == 0 else 'Col.%03d' % set_num
layer = BlenderPrimitive.get_layer(bme.loops.layers.color, layer_name)
- colors = BinaryData.get_data_from_accessor(gltf, attributes[layer_name], cache=True)
+ colors = BinaryData.get_data_from_accessor(gltf, attributes['COLOR_%d' % set_num], cache=True)
# Check whether Blender takes RGB or RGBA colors (old versions only take RGB)
is_rgba = len(colors[0]) == 4
@@ -161,10 +161,10 @@ class BlenderPrimitive():
)
break
- layer_name = 'TEXCOORD_%d' % set_num
+ layer_name = 'UVMap' if set_num == 0 else 'UVMap.%03d' % set_num
layer = BlenderPrimitive.get_layer(bme.loops.layers.uv, layer_name)
- uvs = BinaryData.get_data_from_accessor(gltf, attributes[layer_name], cache=True)
+ uvs = BinaryData.get_data_from_accessor(gltf, attributes['TEXCOORD_%d' % set_num], cache=True)
for bidx, pidx in vert_idxs:
# UV transform
More information about the Bf-extensions-cvs
mailing list