diff options
author | Eugenio Pignataro <info@oscurart.com.ar> | 2020-04-14 18:27:33 +0300 |
---|---|---|
committer | Eugenio Pignataro <info@oscurart.com.ar> | 2020-04-14 18:27:33 +0300 |
commit | 3c181d7e5c0dc4058fe971848407227b4fcf582e (patch) | |
tree | dcce02f6c778d6a5b71926f725b0538ed8ff7854 | |
parent | 6ce56e487405d27e07aa166a7ef7d936562d201e (diff) |
bugFix: Material Overrides
-rw-r--r-- | oscurart_tools/render/material_overrides.py | 26 |
1 files changed, 23 insertions, 3 deletions
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 |