diff --git a/io_scene_gltf2/__init__.py b/io_scene_gltf2/__init__.py index 1815ed904e6d79b3f50e5ed0e25007f22dd4e60a..5c620c8798ef108f106accef0c6e7988a76807f7 100755 --- a/io_scene_gltf2/__init__.py +++ b/io_scene_gltf2/__init__.py @@ -15,7 +15,7 @@ bl_info = { 'name': 'glTF 2.0 format', 'author': 'Julien Duroure, Norbert Nopper, Urs Hanselmann, Moritz Becher, Benjamin SchmithĂĽsen, Jim Eckerlein, and many external contributors', - "version": (1, 3, 11), + "version": (1, 3, 12), 'blender': (2, 90, 0), 'location': 'File > Import-Export', 'description': 'Import-Export as glTF 2.0', diff --git a/io_scene_gltf2/blender/com/gltf2_blender_conversion.py b/io_scene_gltf2/blender/com/gltf2_blender_conversion.py index 574e26e594d85e75c6aa8b019f3e03091fddccdf..c8d2dc8f7b6889c0a8d7028115f371a1a3efbc52 100755 --- a/io_scene_gltf2/blender/com/gltf2_blender_conversion.py +++ b/io_scene_gltf2/blender/com/gltf2_blender_conversion.py @@ -12,8 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -from mathutils import Matrix, Quaternion -from math import sqrt, sin, cos +from math import sin, cos def texture_transform_blender_to_gltf(mapping_transform): """ diff --git a/io_scene_gltf2/blender/com/gltf2_blender_extras.py b/io_scene_gltf2/blender/com/gltf2_blender_extras.py index 6cf220e61e02c9ec2f291f1f6394feae47701886..6474e3f0b6187682f67d4afe4f61f5fd468ece5d 100644 --- a/io_scene_gltf2/blender/com/gltf2_blender_extras.py +++ b/io_scene_gltf2/blender/com/gltf2_blender_extras.py @@ -89,5 +89,5 @@ def set_extras(blender_element, extras, exclude=[]): try: blender_element[custom_property] = value - except TypeError as e: + except TypeError: print('Error setting property %s to value of type %s' % (custom_property, type(value))) diff --git a/io_scene_gltf2/blender/com/gltf2_blender_math.py b/io_scene_gltf2/blender/com/gltf2_blender_math.py index b3f13f653418a5cafa9b4d5b12ad929f39efa8cb..72eb124ad91dc170b7a4310da22a0bf8252fdaae 100755 --- a/io_scene_gltf2/blender/com/gltf2_blender_math.py +++ b/io_scene_gltf2/blender/com/gltf2_blender_math.py @@ -12,7 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -import bpy import typing import math from mathutils import Matrix, Vector, Quaternion, Euler @@ -171,6 +170,7 @@ def round_if_near(value: float, target: float) -> float: """If value is very close to target, round to target.""" return value if abs(value - target) > 2.0e-6 else target + def scale_rot_swap_matrix(rot): """Returns a matrix m st. Scale[s] Rot[rot] = Rot[rot] Scale[m s]. If rot.to_matrix() is a signed permutation matrix, works for any s. @@ -183,6 +183,7 @@ def scale_rot_swap_matrix(rot): m[i][j] = abs(m[i][j]) # discard sign return m + def nearby_signed_perm_matrix(rot): """Returns a signed permutation matrix close to rot.to_matrix(). (A signed permutation matrix is like a permutation matrix, except diff --git a/io_scene_gltf2/blender/exp/gltf2_blender_extract.py b/io_scene_gltf2/blender/exp/gltf2_blender_extract.py index e546b0631dee7c1ba7f177c0d8fb9f44041520cf..35f31c50a4c70dda5a473a78c4500e9991382c1c 100755 --- a/io_scene_gltf2/blender/exp/gltf2_blender_extract.py +++ b/io_scene_gltf2/blender/exp/gltf2_blender_extract.py @@ -24,7 +24,6 @@ from . import gltf2_blender_export_keys from ...io.com.gltf2_io_debug import print_console from ...io.com.gltf2_io_color_management import color_srgb_to_scene_linear from io_scene_gltf2.blender.exp import gltf2_blender_gather_skins -import bpy # # Globals diff --git a/io_scene_gltf2/blender/exp/gltf2_blender_gather_accessors.py b/io_scene_gltf2/blender/exp/gltf2_blender_gather_accessors.py index 2fe992bc5657bbe83c07808e78d2c0ac116c6fbf..58cbe1588c3c18884ab5061dc74a23eebefbc984 100644 --- a/io_scene_gltf2/blender/exp/gltf2_blender_gather_accessors.py +++ b/io_scene_gltf2/blender/exp/gltf2_blender_gather_accessors.py @@ -13,14 +13,10 @@ # limitations under the License. -import typing - -import bpy from io_scene_gltf2.blender.exp.gltf2_blender_gather_cache import cached from io_scene_gltf2.io.com import gltf2_io from io_scene_gltf2.io.com import gltf2_io_constants from io_scene_gltf2.io.exp import gltf2_io_binary_data -from . import gltf2_blender_export_keys @cached diff --git a/io_scene_gltf2/blender/exp/gltf2_blender_gather_animation_sampler_keyframes.py b/io_scene_gltf2/blender/exp/gltf2_blender_gather_animation_sampler_keyframes.py index 6fa5a11d2a8faa4a3ee3f3a9a509f39d5ffccd22..822aa6a19c25b7d00df281e52b0265f75a445dfc 100755 --- a/io_scene_gltf2/blender/exp/gltf2_blender_gather_animation_sampler_keyframes.py +++ b/io_scene_gltf2/blender/exp/gltf2_blender_gather_animation_sampler_keyframes.py @@ -19,7 +19,6 @@ import typing from io_scene_gltf2.blender.exp.gltf2_blender_gather_cache import cached, bonecache from io_scene_gltf2.blender.com import gltf2_blender_math from io_scene_gltf2.blender.exp import gltf2_blender_get -from io_scene_gltf2.blender.exp import gltf2_blender_extract from io_scene_gltf2.blender.exp.gltf2_blender_gather_drivers import get_sk_drivers, get_sk_driver_values from . import gltf2_blender_export_keys from io_scene_gltf2.io.com import gltf2_io_debug diff --git a/io_scene_gltf2/blender/exp/gltf2_blender_gather_cameras.py b/io_scene_gltf2/blender/exp/gltf2_blender_gather_cameras.py index c99263921a48a00873391ec8daa03c06fdd0c1af..585f0be36a42650b3f3c67d16787b3c7952b82df 100755 --- a/io_scene_gltf2/blender/exp/gltf2_blender_gather_cameras.py +++ b/io_scene_gltf2/blender/exp/gltf2_blender_gather_cameras.py @@ -12,7 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -from . import gltf2_blender_export_keys from io_scene_gltf2.blender.exp.gltf2_blender_gather_cache import cached from ..com.gltf2_blender_extras import generate_extras from io_scene_gltf2.io.com import gltf2_io diff --git a/io_scene_gltf2/blender/exp/gltf2_blender_gather_drivers.py b/io_scene_gltf2/blender/exp/gltf2_blender_gather_drivers.py index b176ca45c391161f1f6b9fd57e6b9b02b504c3a8..c0bc2cc619de098cdfebf4ed5e000590169ccf0c 100644 --- a/io_scene_gltf2/blender/exp/gltf2_blender_gather_drivers.py +++ b/io_scene_gltf2/blender/exp/gltf2_blender_gather_drivers.py @@ -13,8 +13,6 @@ # limitations under the License. -from io_scene_gltf2.blender.exp import gltf2_blender_gather_nodes -from io_scene_gltf2.blender.com import gltf2_blender_conversion from io_scene_gltf2.blender.exp.gltf2_blender_gather_cache import skdriverdiscovercache, skdrivervalues from io_scene_gltf2.blender.com.gltf2_blender_data_path import get_target_object_path diff --git a/io_scene_gltf2/blender/exp/gltf2_blender_gather_image.py b/io_scene_gltf2/blender/exp/gltf2_blender_gather_image.py index bd801430a2abce98e32b158fb65c3516f18d1857..69ebcb662319c412f7f7e1986ae4a2ff4bde0e12 100755 --- a/io_scene_gltf2/blender/exp/gltf2_blender_gather_image.py +++ b/io_scene_gltf2/blender/exp/gltf2_blender_gather_image.py @@ -11,12 +11,10 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -import re import bpy import typing import os -import numpy as np from . import gltf2_blender_export_keys from io_scene_gltf2.io.com import gltf2_io diff --git a/io_scene_gltf2/blender/exp/gltf2_blender_gather_joints.py b/io_scene_gltf2/blender/exp/gltf2_blender_gather_joints.py index f7eed77f3806d92e49ebea86031c472316a549ca..d5ecc8da6a4e798d5544153928e8343048b6e13b 100755 --- a/io_scene_gltf2/blender/exp/gltf2_blender_gather_joints.py +++ b/io_scene_gltf2/blender/exp/gltf2_blender_gather_joints.py @@ -17,7 +17,6 @@ import mathutils from . import gltf2_blender_export_keys from io_scene_gltf2.blender.exp.gltf2_blender_gather_cache import cached from io_scene_gltf2.io.com import gltf2_io -from io_scene_gltf2.io.com import gltf2_io_debug from io_scene_gltf2.blender.exp import gltf2_blender_extract from io_scene_gltf2.blender.com import gltf2_blender_math from io_scene_gltf2.blender.exp import gltf2_blender_gather_skins diff --git a/io_scene_gltf2/blender/exp/gltf2_blender_gather_material_normal_texture_info_class.py b/io_scene_gltf2/blender/exp/gltf2_blender_gather_material_normal_texture_info_class.py index b554717b2dd6611d6f470989ba0cbd44c0604de3..e0b9be214ddeb4c01754d756105a305eaa3a05b4 100755 --- a/io_scene_gltf2/blender/exp/gltf2_blender_gather_material_normal_texture_info_class.py +++ b/io_scene_gltf2/blender/exp/gltf2_blender_gather_material_normal_texture_info_class.py @@ -18,7 +18,6 @@ from io_scene_gltf2.blender.exp.gltf2_blender_gather_cache import cached from io_scene_gltf2.io.com import gltf2_io from io_scene_gltf2.blender.exp import gltf2_blender_gather_texture from io_scene_gltf2.blender.exp import gltf2_blender_search_node_tree -from io_scene_gltf2.blender.exp import gltf2_blender_export_keys from io_scene_gltf2.blender.exp import gltf2_blender_get from io_scene_gltf2.io.com.gltf2_io_extensions import Extension from io_scene_gltf2.io.exp.gltf2_io_user_extensions import export_user_extensions diff --git a/io_scene_gltf2/blender/exp/gltf2_blender_gather_materials_pbr_metallic_roughness.py b/io_scene_gltf2/blender/exp/gltf2_blender_gather_materials_pbr_metallic_roughness.py index e774bfefdb271f519532fb3108c37e9d54fae697..ebef6597e1ea83a8d0c9cd1fe6a058c287576d4e 100755 --- a/io_scene_gltf2/blender/exp/gltf2_blender_gather_materials_pbr_metallic_roughness.py +++ b/io_scene_gltf2/blender/exp/gltf2_blender_gather_materials_pbr_metallic_roughness.py @@ -13,7 +13,6 @@ # limitations under the License. import bpy -from mathutils import Color from io_scene_gltf2.io.com import gltf2_io from io_scene_gltf2.blender.exp import gltf2_blender_gather_texture_info, gltf2_blender_search_node_tree diff --git a/io_scene_gltf2/blender/imp/gltf2_blender_KHR_materials_pbrSpecularGlossiness.py b/io_scene_gltf2/blender/imp/gltf2_blender_KHR_materials_pbrSpecularGlossiness.py index 7669d986ca8f4bf2bd71191f1dae37e8aebb8254..ce5e1aed0c87372fbbd2051bc2417288898ffec7 100755 --- a/io_scene_gltf2/blender/imp/gltf2_blender_KHR_materials_pbrSpecularGlossiness.py +++ b/io_scene_gltf2/blender/imp/gltf2_blender_KHR_materials_pbrSpecularGlossiness.py @@ -12,7 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -import bpy from ...io.com.gltf2_io import TextureInfo from .gltf2_blender_pbrMetallicRoughness import \ base_color, emission, normal, occlusion, make_output_nodes, make_settings_node diff --git a/io_scene_gltf2/blender/imp/gltf2_blender_KHR_materials_unlit.py b/io_scene_gltf2/blender/imp/gltf2_blender_KHR_materials_unlit.py index f1a8fefee539f471a4e44cf6a2407967b16aca8b..cd0a8568f78a5ab75ba7c286384f182b7ce5c405 100644 --- a/io_scene_gltf2/blender/imp/gltf2_blender_KHR_materials_unlit.py +++ b/io_scene_gltf2/blender/imp/gltf2_blender_KHR_materials_unlit.py @@ -12,7 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -import bpy from .gltf2_blender_pbrMetallicRoughness import base_color, make_output_nodes diff --git a/io_scene_gltf2/blender/imp/gltf2_blender_animation.py b/io_scene_gltf2/blender/imp/gltf2_blender_animation.py index f01e5ee9f807afa92d3098a1abf8a190817ef39a..9358154238548bbb170cdeee52e83cf1b3eccce9 100755 --- a/io_scene_gltf2/blender/imp/gltf2_blender_animation.py +++ b/io_scene_gltf2/blender/imp/gltf2_blender_animation.py @@ -12,8 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -import bpy - from .gltf2_blender_animation_node import BlenderNodeAnim from .gltf2_blender_animation_weight import BlenderWeightAnim from .gltf2_blender_animation_utils import simulate_stash, restore_animation_on_object diff --git a/io_scene_gltf2/blender/imp/gltf2_blender_animation_weight.py b/io_scene_gltf2/blender/imp/gltf2_blender_animation_weight.py index 5ce4532e787512c30ecfc05183721ef2b5ed6ae0..1bf67213c7760b24a7f105a09bec9c3d3812940b 100644 --- a/io_scene_gltf2/blender/imp/gltf2_blender_animation_weight.py +++ b/io_scene_gltf2/blender/imp/gltf2_blender_animation_weight.py @@ -16,7 +16,7 @@ import json import bpy from ...io.imp.gltf2_io_binary import BinaryData -from .gltf2_blender_animation_utils import simulate_stash, make_fcurve +from .gltf2_blender_animation_utils import make_fcurve class BlenderWeightAnim(): diff --git a/io_scene_gltf2/blender/imp/gltf2_blender_gltf.py b/io_scene_gltf2/blender/imp/gltf2_blender_gltf.py index e00e244984cebedcd1d6bd49a1102d753cbd2613..efa7f003b42e7c2b7e376f06b18b174909bbba1a 100755 --- a/io_scene_gltf2/blender/imp/gltf2_blender_gltf.py +++ b/io_scene_gltf2/blender/imp/gltf2_blender_gltf.py @@ -121,7 +121,7 @@ class BlenderGlTF(): # Dispatch animation if gltf.data.animations: - for node_idx, node in enumerate(gltf.data.nodes): + for node in gltf.data.nodes: node.animations = {} track_names = set() diff --git a/io_scene_gltf2/blender/imp/gltf2_blender_mesh.py b/io_scene_gltf2/blender/imp/gltf2_blender_mesh.py index adf052817e91a36c44fc95a037eeaf5a02235ac2..7914a41bd357d21fedea86eec109be7adebfdf40 100755 --- a/io_scene_gltf2/blender/imp/gltf2_blender_mesh.py +++ b/io_scene_gltf2/blender/imp/gltf2_blender_mesh.py @@ -14,12 +14,10 @@ import bpy import bmesh -from mathutils import Vector from ..com.gltf2_blender_extras import set_extras from .gltf2_blender_material import BlenderMaterial from .gltf2_blender_primitive import BlenderPrimitive -from ...io.imp.gltf2_io_binary import BinaryData class BlenderMesh(): diff --git a/io_scene_gltf2/blender/imp/gltf2_blender_primitive.py b/io_scene_gltf2/blender/imp/gltf2_blender_primitive.py index 956880550be8dfb3e5b4c1f56f3a586764b4bed3..d544778cacd30d43fe797a99bad12e31956fe52b 100755 --- a/io_scene_gltf2/blender/imp/gltf2_blender_primitive.py +++ b/io_scene_gltf2/blender/imp/gltf2_blender_primitive.py @@ -15,7 +15,6 @@ import bpy from mathutils import Vector, Matrix -from .gltf2_blender_material import BlenderMaterial from ...io.imp.gltf2_io_binary import BinaryData from ...io.com.gltf2_io_color_management import color_linear_to_srgb from ...io.com import gltf2_io_debug diff --git a/io_scene_gltf2/blender/imp/gltf2_blender_scene.py b/io_scene_gltf2/blender/imp/gltf2_blender_scene.py index 1bc3fe0bfa2a1eff0a3581f2bda45fc026893a71..6119eb950589d03fa385e9d407e19c0c7862082a 100755 --- a/io_scene_gltf2/blender/imp/gltf2_blender_scene.py +++ b/io_scene_gltf2/blender/imp/gltf2_blender_scene.py @@ -13,8 +13,7 @@ # limitations under the License. import bpy -from math import sqrt -from mathutils import Quaternion + from .gltf2_blender_node import BlenderNode from .gltf2_blender_animation import BlenderAnimation from .gltf2_blender_vnode import VNode, compute_vnodes diff --git a/io_scene_gltf2/blender/imp/gltf2_blender_texture.py b/io_scene_gltf2/blender/imp/gltf2_blender_texture.py index 58d101d015a149eee639dd9b24746775da02d902..9dc012a2b7b1c75408e98ed2bca86d1f6b638376 100644 --- a/io_scene_gltf2/blender/imp/gltf2_blender_texture.py +++ b/io_scene_gltf2/blender/imp/gltf2_blender_texture.py @@ -13,10 +13,10 @@ # limitations under the License. import bpy + from .gltf2_blender_image import BlenderImage from ..com.gltf2_blender_conversion import texture_transform_gltf_to_blender from io_scene_gltf2.io.com.gltf2_io import Sampler -from io_scene_gltf2.io.com.gltf2_io_debug import print_console from io_scene_gltf2.io.com.gltf2_io_constants import TextureFilter, TextureWrap def texture( diff --git a/io_scene_gltf2/io/exp/gltf2_io_export.py b/io_scene_gltf2/io/exp/gltf2_io_export.py index 07cf8820b83bc5f3b545e73bb0da96f39f92fa3a..54181206201c032d69dbf86b2328940a2740c9b2 100755 --- a/io_scene_gltf2/io/exp/gltf2_io_export.py +++ b/io_scene_gltf2/io/exp/gltf2_io_export.py @@ -103,16 +103,14 @@ def save_gltf(gltf, export_settings, encoder, glb_buffer): file.write(struct.pack("I", length_gltf)) file.write('JSON'.encode()) file.write(gltf_data) - for i in range(0, spaces_gltf): - file.write(' '.encode()) + file.write(b' ' * spaces_gltf) # Chunk 1 (BIN) if length_bin > 0: file.write(struct.pack("I", length_bin)) file.write('BIN\0'.encode()) file.write(binary) - for i in range(0, zeros_bin): - file.write('\0'.encode()) + file.write(b'\0' * zeros_bin) file.close() diff --git a/io_scene_gltf2/io/imp/gltf2_io_binary.py b/io_scene_gltf2/io/imp/gltf2_io_binary.py index 9057c17cb39559ca24b06682c3523bde998765df..7cfcbc40e7aa94b4840496123401314f63ee83b6 100755 --- a/io_scene_gltf2/io/imp/gltf2_io_binary.py +++ b/io_scene_gltf2/io/imp/gltf2_io_binary.py @@ -13,7 +13,6 @@ # limitations under the License. import struct -import base64 from ..com.gltf2_io import Accessor diff --git a/io_scene_gltf2/io/imp/gltf2_io_gltf.py b/io_scene_gltf2/io/imp/gltf2_io_gltf.py index 88ba53565e97efed303d1b14c35aaad4e8dc7567..640e552a0f43ba32058c2afff6ad93e85ad8e5ac 100755 --- a/io_scene_gltf2/io/imp/gltf2_io_gltf.py +++ b/io_scene_gltf2/io/imp/gltf2_io_gltf.py @@ -18,7 +18,7 @@ import logging import json import struct import base64 -from os.path import dirname, join, isfile, basename +from os.path import dirname, join, isfile from urllib.parse import unquote