bugFix: Material Overrides

This commit is contained in:
Eugenio Pignataro 2020-04-14 12:27:33 -03:00
parent 6ce56e4874
commit 3c181d7e5c
1 changed files with 23 additions and 3 deletions

View File

@ -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