class MeshExporter:
def __init__(self):
self.use_strips = True
- self.use_degen_tris = True
+ self.use_degen_tris = False
self.max_strip_len = 1024
- self.optimize_cache = False
+ self.optimize_cache = True
self.cache_size = 64
- self.export_lines = True
+ self.export_lines = False
self.export_uv = "UNIT0"
self.tbn_vecs = False
self.tbn_uvtex = ""
def export(self, context, out_file):
if self.compound:
objs = context.selected_objects
+ check = objs
+ while check:
+ children = []
+ for o in check:
+ for c in o.children:
+ if c.compound:
+ children.append(c)
+ objs += children
+ check = children
else:
objs = [context.active_object]
fmt.append("VERTEX3")
out_file.begin("vertices", *fmt)
normal = None
- uvs = [None]*(max(u[0] for u in texunits)+1)
+ uvs = {}
tan = None
bino = None
group = None
out_file.write("normal3", *v.normal)
normal = v.normal
for i, u in texunits:
- if v.uvs[i]!=uvs[i]:
+ if v.uvs[i]!=uvs.get(i):
if u.unit==0 or force_unit0:
out_file.write("texcoord2", *v.uvs[i])
else:
out_file.end()
if self.export_lines and mesh.lines:
- out_file.write("batch", "LINES")
+ out_file.begin("batch", "LINES")
for l in mesh.lines:
out_file.write("indices", l.vertices[0].index, l.vertices[1].index)
out_file.end()