From 27381001d7b9332eb669f1023f14b40d1f15f962 Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Tue, 30 Jul 2019 11:23:12 +0200 Subject: Fix T67889: Object Importer Error. Clamp input values to avoid invalid ones. --- io_scene_obj/__init__.py | 2 +- io_scene_obj/import_obj.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'io_scene_obj') diff --git a/io_scene_obj/__init__.py b/io_scene_obj/__init__.py index 611c95c4..b129f283 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 f03ed2f1..c8a09b2a 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]) -- cgit v1.2.3