[Bf-extensions-cvs] [3c181d7e] master: bugFix: Material Overrides

Eugenio Pignataro noreply at git.blender.org
Tue Apr 14 17:27:38 CEST 2020


Commit: 3c181d7e5c0dc4058fe971848407227b4fcf582e
Author: Eugenio Pignataro
Date:   Tue Apr 14 12:27:33 2020 -0300
Branches: master
https://developer.blender.org/rBA3c181d7e5c0dc4058fe971848407227b4fcf582e

bugFix: Material Overrides

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

M	oscurart_tools/render/material_overrides.py

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

diff --git a/oscurart_tools/render/material_overrides.py b/oscurart_tools/render/material_overrides.py
index faa9be63..8dbed0c1 100644
--- a/oscurart_tools/render/material_overrides.py
+++ b/oscurart_tools/render/material_overrides.py
@@ -11,17 +11,37 @@ def ApplyOverrides(dummy):
     global obDict
 
     for override in bpy.context.scene.ovlist:
-        for ob in bpy.data.collections[override.grooverride].all_objects:
+        
+        # set collections clean name
+        if override.grooverride.endswith("]"):
+            collClean = override.grooverride[3:].split("[")[0][:-1]
+        else:
+            collClean = override.grooverride[3:]        
+        
+        for ob in bpy.data.collections[collClean].all_objects:
             if ob.type == "MESH":
                 if not ob.hide_viewport and not ob.hide_render:
                     obDict.append([ob,[mat for mat in ob.data.materials]])
 
     for override in bpy.context.scene.ovlist:
-        for ob in bpy.data.collections[override.grooverride].all_objects:
+        
+        # set collections clean name
+        if override.grooverride.endswith("]"):
+            collClean = override.grooverride[3:].split("[")[0][:-1]            
+        else:
+            collClean = override.grooverride[3:]               
+        # set material clean name    
+        if override.matoverride.endswith("]"):  
+            matClean = override.matoverride[3:].split("[")[0][:-1]
+        else:
+            matClean = override.matoverride[3:]       
+            
+        
+        for ob in bpy.data.collections[collClean].all_objects:
             if ob.type == "MESH":
                 if not ob.hide_viewport and not ob.hide_render:
                     for i,mat  in enumerate(ob.data.materials):
-                        ob.data.materials[i] = bpy.data.materials[override.matoverride]
+                        ob.data.materials[i] = bpy.data.materials[matClean]
 
 
 @persistent



More information about the Bf-extensions-cvs mailing list