diff --git a/io_coat3D/tex.py b/io_coat3D/tex.py index 14e265083cc4bd8716c79e832db3add69596a6a7..b0fa169ef99ded0144104eaab439259747a76921 100644 --- a/io_coat3D/tex.py +++ b/io_coat3D/tex.py @@ -2,13 +2,11 @@ import bpy import os import filecmp - def objname(path): path2 = os.path.dirname(path) + os.sep pituus = len(path2) nimi = path[pituus:] - return nimi def justname(name): @@ -30,8 +28,6 @@ def find_index(objekti): if(not(hasattr(tex,'texture'))): break luku = luku +1 - - return luku def gettex(mat_list, objekti, scene,export): @@ -44,8 +40,6 @@ def gettex(mat_list, objekti, scene,export): else: vray = False - - take_color = 0; take_spec = 0; take_normal = 0; @@ -71,7 +65,7 @@ def gettex(mat_list, objekti, scene,export): for tex_slot in mate.material.texture_slots: if(hasattr(tex_slot,'texture')): if(tex_slot.texture.type == 'IMAGE'): - tex_slot.texture.image.reload() + tex_slot.texture.image.reload() else: coa = bpy.context.scene.objects.active.coat3D nimi = objname(coa.objectdir) @@ -83,7 +77,6 @@ def gettex(mat_list, objekti, scene,export): just_nimi += '_' just_nimi_len = len(just_nimi) - if(len(objekti.material_slots) != 0): for obj_tex in objekti.active_material.texture_slots: if(hasattr(obj_tex,'texture')): @@ -114,13 +107,24 @@ def gettex(mat_list, objekti, scene,export): #date = os.path.getmtime(texcoat[tex_name][0]) if((texcoat['color'] or texcoat['nmap'] or texcoat['disp'] or texcoat['specular']) and (len(objekti.material_slots)) == 0): - new_mat = ("%s_Material"%(objekti.name)) + index = 0 + tuli = False + lasku = False + while(lasku == False): + tuli = False + new_mat = ("Material.%03d"%(index)) + for i in bpy.data.materials: + if(i.name == new_mat): + tuli = True + break + if(tuli): + index += 1 + else: + lasku = True bpy.data.materials.new(new_mat) ki = bpy.data.materials[new_mat] objekti.data.materials.append(ki) - - if(bring_color == 1 and texcoat['color']): name_tex ='Color_' num = [] @@ -178,8 +182,6 @@ def gettex(mat_list, objekti, scene,export): num = [] index = find_index(objekti) - - tex = bpy.ops.Texture objekti.active_material.texture_slots.create(index) total_mat = len(objekti.active_material.texture_slots.items()) @@ -189,8 +191,6 @@ def gettex(mat_list, objekti, scene,export): if((seekco.name[:7] == 'Normal_') and (seekco.users_material == ())): useold = seekco - - if(useold == ''): tex_name = setgallery()