Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulien Duroure <julien.duroure@gmail.com>2020-03-20 00:44:06 +0300
committerJulien Duroure <julien.duroure@gmail.com>2020-03-20 00:44:06 +0300
commit191bcee579b30af4098fb2af701470f8b05b6065 (patch)
tree3fe837f79b4c40b79eb9e4381390f6974b3859a4 /io_scene_gltf2/blender/exp/gltf2_blender_gather.py
parentdc4c83cffc6b6db19f757db5012050a234f00424 (diff)
glTF export: manage collection instances / linked collection / armature proxy
Diffstat (limited to 'io_scene_gltf2/blender/exp/gltf2_blender_gather.py')
-rwxr-xr-xio_scene_gltf2/blender/exp/gltf2_blender_gather.py22
1 files changed, 16 insertions, 6 deletions
diff --git a/io_scene_gltf2/blender/exp/gltf2_blender_gather.py b/io_scene_gltf2/blender/exp/gltf2_blender_gather.py
index f08a379b..c6fd2c38 100755
--- a/io_scene_gltf2/blender/exp/gltf2_blender_gather.py
+++ b/io_scene_gltf2/blender/exp/gltf2_blender_gather.py
@@ -51,9 +51,13 @@ def __gather_scene(blender_scene, export_settings):
nodes=[]
)
- for blender_object in blender_scene.objects:
- if blender_object.parent is None:
- node = gltf2_blender_gather_nodes.gather_node(blender_object, blender_scene, export_settings)
+ for _blender_object in [obj for obj in blender_scene.objects if obj.proxy is None]:
+ if _blender_object.parent is None:
+ blender_object = _blender_object.proxy if _blender_object.proxy else _blender_object
+ node = gltf2_blender_gather_nodes.gather_node(
+ blender_object,
+ blender_object.library.name if blender_object.library else None,
+ blender_scene, None, export_settings)
if node is not None:
scene.nodes.append(node)
@@ -66,11 +70,17 @@ def __gather_animations(blender_scene, export_settings):
animations = []
merged_tracks = {}
- for blender_object in blender_scene.objects:
+ for _blender_object in blender_scene.objects:
+
+ blender_object = _blender_object.proxy if _blender_object.proxy else _blender_object
+
# First check if this object is exported or not. Do not export animation of not exported object
- obj_node = gltf2_blender_gather_nodes.gather_node(blender_object, blender_scene, export_settings)
+ obj_node = gltf2_blender_gather_nodes.gather_node(blender_object,
+ blender_object.library.name if blender_object.library else None,
+ blender_scene, None, export_settings)
if obj_node is not None:
- animations_, merged_tracks = gltf2_blender_gather_animations.gather_animations(blender_object, merged_tracks, len(animations), export_settings)
+ # Check was done on armature, but use here the _proxy object, because this is where the animation is
+ animations_, merged_tracks = gltf2_blender_gather_animations.gather_animations(_blender_object, merged_tracks, len(animations), export_settings)
animations += animations_
if export_settings['gltf_nla_strips'] is False: