[Bf-extensions-cvs] [ebdf1861] blender-v2.92-release: glTF importer: Use Separate R node for clearcoat textures

Julien Duroure noreply at git.blender.org
Sun Jan 17 09:42:18 CET 2021


Commit: ebdf1861dc568a9b4b92b29a9b8f7117ad1eec05
Author: Julien Duroure
Date:   Sun Jan 17 09:41:51 2021 +0100
Branches: blender-v2.92-release
https://developer.blender.org/rBAebdf1861dc568a9b4b92b29a9b8f7117ad1eec05

glTF importer: Use Separate R node for clearcoat textures

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

M	io_scene_gltf2/__init__.py
M	io_scene_gltf2/blender/imp/gltf2_blender_KHR_materials_clearcoat.py

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

diff --git a/io_scene_gltf2/__init__.py b/io_scene_gltf2/__init__.py
index 27a9e61e..9f50fc37 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, Scurest, Norbert Nopper, Urs Hanselmann, Moritz Becher, Benjamin Schmithüsen, Jim Eckerlein, and many external contributors',
-    "version": (1, 5, 14),
+    "version": (1, 5, 15),
     'blender': (2, 91, 0),
     'location': 'File > Import-Export',
     'description': 'Import-Export as glTF 2.0',
diff --git a/io_scene_gltf2/blender/imp/gltf2_blender_KHR_materials_clearcoat.py b/io_scene_gltf2/blender/imp/gltf2_blender_KHR_materials_clearcoat.py
index 611bffff..018fdb3b 100644
--- a/io_scene_gltf2/blender/imp/gltf2_blender_KHR_materials_clearcoat.py
+++ b/io_scene_gltf2/blender/imp/gltf2_blender_KHR_materials_clearcoat.py
@@ -16,7 +16,7 @@ from ...io.com.gltf2_io import TextureInfo, MaterialNormalTextureInfoClass
 from .gltf2_blender_texture import texture
 
 
-# [Texture] => [Clearcoat Factor] =>
+# [Texture] => [Separate R] => [Clearcoat Factor] =>
 def clearcoat(mh, location, clearcoat_socket):
     x, y = location
     try:
@@ -49,9 +49,15 @@ def clearcoat(mh, location, clearcoat_socket):
 
         x -= 200
 
-    # Clearcoat is in the R component; we don't need to separate it out
-    # since hooking a color socket up to a value socket automatically gets
-    # the R
+    # Separate RGB
+    node = mh.node_tree.nodes.new('ShaderNodeSeparateRGB')
+    node.location = x - 150, y - 75
+    # Outputs
+    mh.node_tree.links.new(clearcoat_socket, node.outputs['R'])
+    # Inputs
+    clearcoat_socket = node.inputs[0]
+
+    x -= 200
 
     texture(
         mh,



More information about the Bf-extensions-cvs mailing list