Skip to content
Snippets Groups Projects
Commit dc2d9b08 authored by Julien Duroure's avatar Julien Duroure
Browse files

glTF exporter: manage factors for Clearcoat extension

parent 963a9847
No related branches found
No related tags found
No related merge requests found
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
bl_info = { bl_info = {
'name': 'glTF 2.0 format', 'name': 'glTF 2.0 format',
'author': 'Julien Duroure, Scurest, Norbert Nopper, Urs Hanselmann, Moritz Becher, Benjamin Schmithüsen, Jim Eckerlein, and many external contributors', 'author': 'Julien Duroure, Scurest, Norbert Nopper, Urs Hanselmann, Moritz Becher, Benjamin Schmithüsen, Jim Eckerlein, and many external contributors',
"version": (1, 8, 14), "version": (1, 8, 15),
'blender': (3, 1, 0), 'blender': (3, 1, 0),
'location': 'File > Import-Export', 'location': 'File > Import-Export',
'description': 'Import-Export as glTF 2.0', 'description': 'Import-Export as glTF 2.0',
......
...@@ -273,7 +273,9 @@ def __gather_clearcoat_extension(blender_material, export_settings): ...@@ -273,7 +273,9 @@ def __gather_clearcoat_extension(blender_material, export_settings):
clearcoat_extension['clearcoatFactor'] = clearcoat_socket.default_value clearcoat_extension['clearcoatFactor'] = clearcoat_socket.default_value
clearcoat_enabled = clearcoat_extension['clearcoatFactor'] > 0 clearcoat_enabled = clearcoat_extension['clearcoatFactor'] > 0
elif __has_image_node_from_socket(clearcoat_socket): elif __has_image_node_from_socket(clearcoat_socket):
clearcoat_extension['clearcoatFactor'] = 1 fac = gltf2_blender_get.get_factor_from_socket(clearcoat_socket, kind='VALUE')
# default value in glTF is 0.0, but if there is a texture without factor, use 1
clearcoat_extension['clearcoatFactor'] = fac if fac != None else 1.0
has_clearcoat_texture = True has_clearcoat_texture = True
clearcoat_enabled = True clearcoat_enabled = True
...@@ -283,7 +285,9 @@ def __gather_clearcoat_extension(blender_material, export_settings): ...@@ -283,7 +285,9 @@ def __gather_clearcoat_extension(blender_material, export_settings):
if isinstance(clearcoat_roughness_socket, bpy.types.NodeSocket) and not clearcoat_roughness_socket.is_linked: if isinstance(clearcoat_roughness_socket, bpy.types.NodeSocket) and not clearcoat_roughness_socket.is_linked:
clearcoat_extension['clearcoatRoughnessFactor'] = clearcoat_roughness_socket.default_value clearcoat_extension['clearcoatRoughnessFactor'] = clearcoat_roughness_socket.default_value
elif __has_image_node_from_socket(clearcoat_roughness_socket): elif __has_image_node_from_socket(clearcoat_roughness_socket):
clearcoat_extension['clearcoatRoughnessFactor'] = 1 fac = gltf2_blender_get.get_factor_from_socket(clearcoat_roughness_socket, kind='VALUE')
# default value in glTF is 0.0, but if there is a texture without factor, use 1
clearcoat_extension['clearcoatRoughnessFactor'] = fac if fac != None else 1.0
has_clearcoat_roughness_texture = True has_clearcoat_roughness_texture = True
# Pack clearcoat (R) and clearcoatRoughness (G) channels. # Pack clearcoat (R) and clearcoatRoughness (G) channels.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment