From addeb64f82f401b72f217eb128ed8a5c4a164310 Mon Sep 17 00:00:00 2001 From: Julien Duroure Date: Wed, 2 Nov 2022 19:10:34 +0100 Subject: glTF exporter: Do not export special attributes, used internally by Blender --- io_scene_gltf2/__init__.py | 2 +- io_scene_gltf2/blender/com/gltf2_blender_default.py | 10 +++++++++- .../blender/exp/gltf2_blender_gather_primitives_extract.py | 6 ++++++ 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/io_scene_gltf2/__init__.py b/io_scene_gltf2/__init__.py index 0b6327d0..45acd1b3 100755 --- a/io_scene_gltf2/__init__.py +++ b/io_scene_gltf2/__init__.py @@ -4,7 +4,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": (3, 4, 43), + "version": (3, 4, 44), 'blender': (3, 3, 0), 'location': 'File > Import-Export', 'description': 'Import-Export as glTF 2.0', diff --git a/io_scene_gltf2/blender/com/gltf2_blender_default.py b/io_scene_gltf2/blender/com/gltf2_blender_default.py index c3951f4e..13a3bb48 100644 --- a/io_scene_gltf2/blender/com/gltf2_blender_default.py +++ b/io_scene_gltf2/blender/com/gltf2_blender_default.py @@ -3,4 +3,12 @@ BLENDER_IOR = 1.45 BLENDER_SPECULAR = 0.5 -BLENDER_SPECULAR_TINT = 0.0 \ No newline at end of file +BLENDER_SPECULAR_TINT = 0.0 + + +SPECIAL_ATTRIBUTES = { + ".select_vert", + ".select_edge", + ".select_poly", + "material_index" + } diff --git a/io_scene_gltf2/blender/exp/gltf2_blender_gather_primitives_extract.py b/io_scene_gltf2/blender/exp/gltf2_blender_gather_primitives_extract.py index f823d176..2d7266e9 100644 --- a/io_scene_gltf2/blender/exp/gltf2_blender_gather_primitives_extract.py +++ b/io_scene_gltf2/blender/exp/gltf2_blender_gather_primitives_extract.py @@ -9,6 +9,7 @@ from ...io.com.gltf2_io_debug import print_console from io_scene_gltf2.blender.exp import gltf2_blender_gather_skins from io_scene_gltf2.io.com import gltf2_io_constants from io_scene_gltf2.blender.com import gltf2_blender_conversion +from io_scene_gltf2.blender.com import gltf2_blender_default def extract_primitives(blender_mesh, uuid_for_skined_data, blender_vertex_groups, modifiers, export_settings): @@ -137,6 +138,11 @@ class PrimitiveCreator: def define_attributes(self): # Manage attributes + COLOR_0 for blender_attribute_index, blender_attribute in enumerate(self.blender_mesh.attributes): + + # Excluse special attributes (used internally by Blender) + if blender_attribute.name in gltf2_blender_default.SPECIAL_ATTRIBUTES: + continue + attr = {} attr['blender_attribute_index'] = blender_attribute_index attr['blender_name'] = blender_attribute.name -- cgit v1.2.3