From 29be1febb07e5300dba9414b22650d83237f7cf0 Mon Sep 17 00:00:00 2001 From: alteredq Date: Tue, 19 Oct 2010 13:15:27 +0200 Subject: [PATCH] Added handling of null materials (coming from Blender exporter when mesh has no assigned material). --- utils/exporters/convert_obj_threejs.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/utils/exporters/convert_obj_threejs.py b/utils/exporters/convert_obj_threejs.py index b0dcf0d6..657491ea 100644 --- a/utils/exporters/convert_obj_threejs.py +++ b/utils/exporters/convert_obj_threejs.py @@ -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]),