glTF exporter: manage factors for Clearcoat extension

This commit is contained in:
Julien Duroure 2022-02-12 13:35:51 +01:00
parent 963a9847f2
commit dc2d9b0864
2 changed files with 7 additions and 3 deletions

View File

@ -15,7 +15,7 @@
bl_info = {
'name': 'glTF 2.0 format',
'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),
'location': 'File > Import-Export',
'description': 'Import-Export as glTF 2.0',

View File

@ -273,7 +273,9 @@ def __gather_clearcoat_extension(blender_material, export_settings):
clearcoat_extension['clearcoatFactor'] = clearcoat_socket.default_value
clearcoat_enabled = clearcoat_extension['clearcoatFactor'] > 0
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
clearcoat_enabled = True
@ -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:
clearcoat_extension['clearcoatRoughnessFactor'] = clearcoat_roughness_socket.default_value
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
# Pack clearcoat (R) and clearcoatRoughness (G) channels.