Added handling of null materials (coming from Blender exporter when mesh has no assigned material).

This commit is contained in:
alteredq
2010-10-19 13:15:27 +02:00
parent 32133b352b
commit 29be1febb0
+8 -8
View File
@@ -754,24 +754,24 @@ def convert(infile, outfile):
uv_string = "\n".join([generate_uv(f, uvs) for f in faces])
mtl = {}
# default materials with debug colors for when
# there is no specified MTL, if loading failed
# or there were null materials
mtl = generate_mtl(materials)
if mtllib:
# create full pathname for MTL (included from OBJ)
path = os.path.dirname(infile)
fname = os.path.join(path, mtllib)
if file_exists(fname):
mtl = parse_mtl(fname)
# override default materials with real ones from MTL
# (where they exist, otherwise keep defaults)
mtl.update(parse_mtl(fname))
else:
print "Couldn't find [%s]" % fname
if not mtl:
# if there is no specified MTL or if loading failed,
# generate default materials with debug colors
mtl = generate_mtl(materials)
text = TEMPLATE_FILE % {
"name" : get_name(outfile),
"vertices" : "\n".join([generate_vertex(v) for v in vertices]),