self.separate_mesh = False
self.shared_mesh = True
self.separate_tech = False
- self.external_tech = True
self.shared_tech = True
self.export_lods = True
mat = l.material_slots[0].material.name
if mat!=prev_tech[1]:
same_tech = False
- if self.external_tech and l.technique!=prev_tech[0]:
+ if l.technique!=prev_tech[0]:
same_tech = False
if i==0 or not same_tech:
self.export_object_technique(l, mesh, out_file, i)
from .outfile import open_output
path, name = external_name(out_file, ".tech", lod_index)
- if self.external_tech and obj.technique:
+ if obj.technique:
if obj.inherit_tech and material and (obj.override_material or material.texture_slots):
out_file.begin("technique")
out_file.begin("inherit", '"{}"'.format(obj.technique))
out_file.begin("material")
out_file.write("diffuse", 1.0, 1.0, 1.0, 1.0)
out_file.end()
- index = 0
- for u in mesh.uv_layers:
- if u.name=="material_tex":
- index = u.unit
- out_file.begin("texunit", index)
+ out_file.begin("texunit", 0)
out_file.begin("texture2d")
out_file.write("min_filter", "NEAREST")
out_file.write("mag_filter", "NEAREST")
out_file.end()
if self.textures!="NONE":
+ diffuse_tex = None
for slot in material.texture_slots:
- if not slot:
- continue
+ if slot and slot.texture.type=="IMAGE" and slot.use_map_color_diffuse:
+ diffuse_tex = slot.texture
+ break
- tex = slot.texture
- if tex.type!="IMAGE":
- continue
-
- if slot.uv_layer:
- for u in mesh.uv_layers:
- if u.name==slot.uv_layer:
- index = u.unit
- else:
- index = mesh.uv_layers[0].unit
-
- out_file.begin("texunit", index)
+ if diffuse_tex:
+ out_file.begin("texunit", 0)
if self.textures=="INLINE":
out_file.begin("texture2d")
out_file.write("min_filter", "LINEAR")
- out_file.write("storage", "RGBA", tex.image.size[0], tex.image.size[1])
+ out_file.write("storage", "RGBA", diffuse_tex.image.size[0], diffuse_tex.image.size[1])
texdata = '"'
- for p in tex.image.pixels:
+ for p in diffuse_tex.image.pixels:
texdata += "\\x%02X"%int(p*255)
texdata += '"'
out_file.write("raw_data", texdata)
out_file.end()
else:
- out_file.write("texture", '"%s"'%image_name(tex.image))
+ out_file.write("texture", '"%s"'%image_name(diffuse_tex.image))
out_file.end()
out_file.end()
out_file.write("ambient", cm(amb.r), cm(amb.g), cm(amb.b), 1.0)
spec = mat.specular_color*mat.specular_intensity
out_file.write("specular", spec.r, spec.g, spec.b, 1.0)
- out_file.write("shininess", mat.specular_hardness);
+ out_file.write("shininess", mat.specular_hardness)