From 38237fe414169be139b0718bcf20d08468edf478 Mon Sep 17 00:00:00 2001 From: Julien Duroure Date: Sat, 29 Jun 2024 09:22:26 +0200 Subject: [PATCH] glTF exporter: Avoid crash with skinned lattices We don't export lattices, so don't try to get skin data from it --- scripts/addons_core/io_scene_gltf2/__init__.py | 2 +- .../blender/exp/gltf2_blender_gather_nodes.py | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/scripts/addons_core/io_scene_gltf2/__init__.py b/scripts/addons_core/io_scene_gltf2/__init__.py index 19b50e983f8..a011dde1591 100755 --- a/scripts/addons_core/io_scene_gltf2/__init__.py +++ b/scripts/addons_core/io_scene_gltf2/__init__.py @@ -5,7 +5,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": (4, 2, 54), + "version": (4, 2, 55), 'blender': (4, 2, 0), 'location': 'File > Import-Export', 'description': 'Import-Export as glTF 2.0', diff --git a/scripts/addons_core/io_scene_gltf2/blender/exp/gltf2_blender_gather_nodes.py b/scripts/addons_core/io_scene_gltf2/blender/exp/gltf2_blender_gather_nodes.py index 027a9fc80af..5128bb0cffd 100755 --- a/scripts/addons_core/io_scene_gltf2/blender/exp/gltf2_blender_gather_nodes.py +++ b/scripts/addons_core/io_scene_gltf2/blender/exp/gltf2_blender_gather_nodes.py @@ -476,6 +476,12 @@ def gather_skin(vnode, export_settings): return None blender_object = export_settings['vtree'].nodes[vnode].blender_object + + # Lattice can have armature modifiers & vertex groups, but we don't want to export them + # Avoid crash getting mesh data from lattices + if blender_object and blender_object.type == 'LATTICE': + return None + modifiers = {m.type: m for m in blender_object.modifiers} if blender_object else {} if "ARMATURE" not in modifiers or modifiers["ARMATURE"].object is None: return None