From e41ef09563f6c55f140938b4b3e146e27c726279 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 22 Oct 2010 12:35:31 +0000 Subject: change to Nathan's fix which also works with empty material slots. --- release/scripts/op/uv.py | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/release/scripts/op/uv.py b/release/scripts/op/uv.py index 5ab1507a6a6..17520ff6d77 100644 --- a/release/scripts/op/uv.py +++ b/release/scripts/op/uv.py @@ -113,7 +113,7 @@ def write_png(fw, mesh_source, image_width, image_height, face_iter): filepath = fw.__self__.name fw.__self__.close() - material_solids = [bpy.data.materials.new("uv_temp_solid") for i in range(len(mesh_source.materials))] + material_solids = [bpy.data.materials.new("uv_temp_solid") for i in range(max(1, len(mesh_source.materials)))] material_wire = bpy.data.materials.new("uv_temp_wire") scene = bpy.data.scenes.new("uv_temp") @@ -166,13 +166,8 @@ def write_png(fw, mesh_source, image_width, image_height, face_iter): # place behind the wire obj_solid.location = 0, 0, -1 - try: - obj_wire.material_slots[0].link = 'OBJECT' - obj_wire.material_slots[0].material = material_wire - except: # orig object didn't have material, add one here - obj_wire.data.materials.append(material_wire) - obj_wire.material_slots[0].link = 'OBJECT' - obj_wire.material_slots[0].material = material_wire + obj_wire.material_slots[0].link = 'OBJECT' + obj_wire.material_slots[0].material = material_wire # setup the camera @@ -186,7 +181,9 @@ def write_png(fw, mesh_source, image_width, image_height, face_iter): # setup materials for i, mat_solid in enumerate(material_solids): - mat_solid.diffuse_color = mesh_source.materials[i].diffuse_color + if mesh_source.materials and mesh_source.materials[i]: + mat_solid.diffuse_color = mesh_source.materials[i].diffuse_color + mat_solid.use_shadeless = True mat_solid.use_transparency = True mat_solid.alpha = 0.25 -- cgit v1.2.3