diff --git a/io_scene_obj/__init__.py b/io_scene_obj/__init__.py index 611c95c4e71c5ccb618814095b87b97ff6a7d673..b129f28377bfeadff5a1de4e4012c0ffe20c9993 100644 --- a/io_scene_obj/__init__.py +++ b/io_scene_obj/__init__.py @@ -21,7 +21,7 @@ bl_info = { "name": "Wavefront OBJ format", "author": "Campbell Barton, Bastien Montagne", - "version": (3, 5, 11), + "version": (3, 5, 12), "blender": (2, 80, 0), "location": "File > Import-Export", "description": "Import-Export OBJ, Import OBJ mesh, UV's, materials and textures", diff --git a/io_scene_obj/import_obj.py b/io_scene_obj/import_obj.py index f03ed2f1510c8becd1be7fabddc27b8e4715c155..c8a09b2a6ba8f8b21a08c34450582c3681e0911a 100644 --- a/io_scene_obj/import_obj.py +++ b/io_scene_obj/import_obj.py @@ -357,7 +357,8 @@ def create_materials(filepath, relpath, elif line_id == b'ns': # XXX Totally empirical conversion, trying to adapt it # (from 0.0 - 900.0 OBJ specular exponent range to 1.0 - 0.0 Principled BSDF range)... - context_mat_wrap.roughness = 1.0 - (sqrt(float_func(line_split[1])) / 30) + val = max(0.0, min(900.0, float_func(line_split[1]))) + context_mat_wrap.roughness = 1.0 - (sqrt(val) / 30) context_material_vars.add("roughness") elif line_id == b'ni': # Refraction index (between 0.001 and 10). context_mat_wrap.ior = float_func(line_split[1])