[Bf-extensions-cvs] [cd2d9df9] master: glTF importer: tweak vertex color import

Julien Duroure noreply at git.blender.org
Fri Oct 21 18:50:27 CEST 2022


Commit: cd2d9df92577b860419c5b591b9bdd97eb70803d
Author: Julien Duroure
Date:   Fri Oct 21 18:41:06 2022 +0200
Branches: master
https://developer.blender.org/rBAcd2d9df92577b860419c5b591b9bdd97eb70803d

glTF importer: tweak vertex color import

- The first imported one is now set as the rendered one
- Color Attribute Node does no more specify the layer, so rendered one is used

===================================================================

M	io_scene_gltf2/__init__.py
M	io_scene_gltf2/blender/imp/gltf2_blender_mesh.py
M	io_scene_gltf2/blender/imp/gltf2_blender_pbrMetallicRoughness.py

===================================================================

diff --git a/io_scene_gltf2/__init__.py b/io_scene_gltf2/__init__.py
index 6650f18d..d06b8b08 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, 37),
+    "version": (3, 4, 38),
     'blender': (3, 3, 0),
     'location': 'File > Import-Export',
     'description': 'Import-Export as glTF 2.0',
diff --git a/io_scene_gltf2/blender/imp/gltf2_blender_mesh.py b/io_scene_gltf2/blender/imp/gltf2_blender_mesh.py
index c29f5a27..395fde0f 100755
--- a/io_scene_gltf2/blender/imp/gltf2_blender_mesh.py
+++ b/io_scene_gltf2/blender/imp/gltf2_blender_mesh.py
@@ -305,6 +305,10 @@ def do_primitives(gltf, mesh_idx, skin_idx, mesh, ob):
 
         mesh.color_attributes[layer.name].data.foreach_set('color', squish(loop_cols[col_i]))
 
+    # Make sure the first Vertex Color Attribute is the rendered one
+    if num_cols > 0:
+        mesh.color_attributes.render_color_index = 0
+
     # Skinning
     # TODO: this is slow :/
     if num_joint_sets and mesh_options.skinning:
diff --git a/io_scene_gltf2/blender/imp/gltf2_blender_pbrMetallicRoughness.py b/io_scene_gltf2/blender/imp/gltf2_blender_pbrMetallicRoughness.py
index b6b8e19f..18cb68ab 100755
--- a/io_scene_gltf2/blender/imp/gltf2_blender_pbrMetallicRoughness.py
+++ b/io_scene_gltf2/blender/imp/gltf2_blender_pbrMetallicRoughness.py
@@ -440,7 +440,7 @@ def base_color(
     # Vertex Color
     if mh.vertex_color:
         node = mh.node_tree.nodes.new('ShaderNodeVertexColor')
-        node.layer_name = 'Col'
+        # Do not set the layer name, so rendered one will be used (At import => The first one)
         node.location = x - 250, y - 240
         # Outputs
         mh.node_tree.links.new(vcolor_color_socket, node.outputs['Color'])



More information about the Bf-extensions-cvs mailing list