[Bf-extensions-cvs] [bca9889b] master: OscurartTools/overrides: Now support linked collections
Eugenio Pignataro
noreply at git.blender.org
Fri Aug 9 16:25:15 CEST 2019
Commit: bca9889b7b6c737bd4b12e32f2fec55353457afb
Author: Eugenio Pignataro
Date: Fri Aug 9 11:25:08 2019 -0300
Branches: master
https://developer.blender.org/rBAbca9889b7b6c737bd4b12e32f2fec55353457afb
OscurartTools/overrides: Now support linked collections
===================================================================
M oscurart_tools/render/material_overrides.py
===================================================================
diff --git a/oscurart_tools/render/material_overrides.py b/oscurart_tools/render/material_overrides.py
index 45545f8c..3cfd68fd 100644
--- a/oscurart_tools/render/material_overrides.py
+++ b/oscurart_tools/render/material_overrides.py
@@ -1,28 +1,33 @@
# ------------------------------------------------
-obDict = []
+obDict = {}
import bpy
from bpy.app.handlers import persistent
@persistent
def ApplyOverrides(dummy):
- global obDict
+ global obDict
+
+ for override in bpy.context.scene.ovlist:
+ for ob in bpy.data.collections[override.grooverride].objects:
+ if ob.type == "MESH":
+ obDict[ob] = ob.data.materials[0]
+
for override in bpy.context.scene.ovlist:
+ obMss = {}
for ob in bpy.data.collections[override.grooverride].objects:
- obMss = {}
- for i,ms in enumerate(ob.material_slots):
- obMss[i] = ms.material
- ms.material = bpy.data.materials[override.matoverride]
- obDict.append([ob,obMss])
+ if ob.type == "MESH":
+ obMss[ob] = ob.data.materials[0]
+ ob.data.materials[0] = bpy.data.materials[override.matoverride]
@persistent
def RestoreOverrides(dummy):
global obDict
- for ob in obDict:
- for ms,material in ob[1].items():
- ob[0].material_slots[ms].material = material
+ for ob,mat in obDict.items():
+ if ob.type == "MESH":
+ ob.data.materials[0] = mat
# ---------------------------------------------------
More information about the Bf-extensions-cvs
mailing list