[Bf-extensions-cvs] [e0473a9] master: Fix for material slots

Eugenio Pignataro noreply at git.blender.org
Sat Jan 24 21:09:30 CET 2015


Commit: e0473a96b79ba0513e1d9e17e9f2adb14acabb72
Author: Eugenio Pignataro
Date:   Sat Jan 24 17:09:20 2015 -0300
Branches: master
https://developer.blender.org/rBACe0473a96b79ba0513e1d9e17e9f2adb14acabb72

Fix for material slots

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

M	oscurart_tools/oscurart_overrides.py
M	oscurart_tools/oscurart_render.py

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

diff --git a/oscurart_tools/oscurart_overrides.py b/oscurart_tools/oscurart_overrides.py
index 8f71ddb..7aa3f5c 100644
--- a/oscurart_tools/oscurart_overrides.py
+++ b/oscurart_tools/oscurart_overrides.py
@@ -25,10 +25,12 @@ def DefOscApplyOverrides(self):
     proptolist = list(eval(scene.overrides))   
     for group, material in proptolist:
         for object in bpy.data.groups[group].objects:
+            lenslots = len(object.material_slots)
             if object.type in types:
                 if len(object.data.materials):
                     object.data.materials.clear()
-                    object.data.materials.append(bpy.data.materials[material])                 
+                    for newslot in range(lenslots):                    
+                        object.data.materials.append(bpy.data.materials[material])                 
  
 def DefOscRestoreOverrides(self):
     types = {'MESH','META','CURVE'}
diff --git a/oscurart_tools/oscurart_render.py b/oscurart_tools/oscurart_render.py
index f34cb41..557441d 100644
--- a/oscurart_tools/oscurart_render.py
+++ b/oscurart_tools/oscurart_render.py
@@ -39,10 +39,12 @@ def defRenderAll (frametype, scenes):
             
         for group, material in proptolist:
             for object in bpy.data.groups[group].objects:
+                lenslots = len(object.material_slots)
                 if object.type in types:
                     if len(object.data.materials):
                         object.data.materials.clear()
-                        object.data.materials.append(bpy.data.materials[material])            
+                        for newslot in range(lenslots):
+                            object.data.materials.append(bpy.data.materials[material])            
         filename = os.path.basename(bpy.data.filepath.rpartition(".")[0])  
         uselayers = {layer : layer.use for layer in scene.render.layers} 
         for layer, usado in uselayers.items():



More information about the Bf-extensions-cvs mailing list