diff --git a/io_scene_obj/export_obj.py b/io_scene_obj/export_obj.py index 5c24fbf7aeec67bdce1b1599ed5994009a443a9f..03a866cab2eb3b16dfe5e7bee10325340b9d66c4 100644 --- a/io_scene_obj/export_obj.py +++ b/io_scene_obj/export_obj.py @@ -78,7 +78,14 @@ def write_mtl(scene, filepath, path_mode, copy_set, mtl_dict): file.write('newmtl %s\n' % mtl_mat_name) # Define a new material: matname_imgname if mat: - file.write('Ns %.6f\n' % ((mat.specular_hardness - 1) * 1.9607843137254901)) # Hardness, convert blenders 1-511 to MTL's + # convert from blenders spec to 0 - 1000 range. + if mat.specular_shader == 'WARDISO': + tspec = (0.4 - mat.specular_slope) / 0.0004 + else: + tspec = (mat.specular_hardness - 1) * 1.9607843137254901 + file.write('Ns %.6f\n' % tspec) + del tspec + file.write('Ka %.6f %.6f %.6f\n' % tuple(c * mat.ambient for c in worldAmb)) # Ambient, uses mirror colour, file.write('Kd %.6f %.6f %.6f\n' % tuple(c * mat.diffuse_intensity for c in mat.diffuse_color)) # Diffuse file.write('Ks %.6f %.6f %.6f\n' % tuple(c * mat.specular_intensity for c in mat.specular_color)) # Specular