diff options
author | Eugenio Pignataro <info@oscurart.com.ar> | 2019-08-09 21:55:53 +0300 |
---|---|---|
committer | Eugenio Pignataro <info@oscurart.com.ar> | 2019-08-09 21:55:53 +0300 |
commit | a5222ed296c4bf0a3018fffa9f31ef0fcd770ef2 (patch) | |
tree | 8dbfb28ed2d796cd0d8614d85ad612b07d24263a /oscurart_tools | |
parent | 5db869653a60ad387ae6bf526a3ffefeb99c2b64 (diff) |
Commit Oscurart Tools Overrides: suppor multi slots
Diffstat (limited to 'oscurart_tools')
-rw-r--r-- | oscurart_tools/render/material_overrides.py | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/oscurart_tools/render/material_overrides.py b/oscurart_tools/render/material_overrides.py index 88a27893..b5d2f9d3 100644 --- a/oscurart_tools/render/material_overrides.py +++ b/oscurart_tools/render/material_overrides.py @@ -14,21 +14,24 @@ def ApplyOverrides(dummy): for ob in bpy.data.collections[override.grooverride].objects: if ob.type == "MESH": if not ob.hide_viewport and not ob.hide_render: - obDict.append([ob,ob.data.materials[0]]) + obDict.append([ob,[mat for mat in ob.data.materials]]) for override in bpy.context.scene.ovlist: - obMss = {} for ob in bpy.data.collections[override.grooverride].objects: if ob.type == "MESH": if not ob.hide_viewport and not ob.hide_render: - obMss[ob] = ob.data.materials[0] - ob.data.materials[0] = bpy.data.materials[override.matoverride] + for i,mat in enumerate(ob.data.materials): + ob.data.materials[i] = bpy.data.materials[override.matoverride] + @persistent def RestoreOverrides(dummy): global obDict + for set in obDict: - set[0].data.materials[0] = set[1] + for i,mat in enumerate(set[1]): + set[0].data.materials[i] = mat + obDict = [] |