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>2019-10-12 18:43:57 +0300
committerJulien Duroure <julien.duroure@gmail.com>2019-10-12 18:43:57 +0300
commit334ca375b5e67d668c5413e1ca432a4fc23274e1 (patch)
tree244f13f1caf275e7c7e574465fd51d648afbfd8e /io_scene_gltf2/blender
parentecdaef952383c28aa3793f86cee160202f46913b (diff)
glTF exporter: export action custom props as animation extras
Diffstat (limited to 'io_scene_gltf2/blender')
-rwxr-xr-xio_scene_gltf2/blender/exp/gltf2_blender_gather.py8
-rwxr-xr-xio_scene_gltf2/blender/exp/gltf2_blender_gather_animations.py4
2 files changed, 12 insertions, 0 deletions
diff --git a/io_scene_gltf2/blender/exp/gltf2_blender_gather.py b/io_scene_gltf2/blender/exp/gltf2_blender_gather.py
index 80e0c3b2..f4fd70dd 100755
--- a/io_scene_gltf2/blender/exp/gltf2_blender_gather.py
+++ b/io_scene_gltf2/blender/exp/gltf2_blender_gather.py
@@ -97,6 +97,14 @@ def __gather_animations(blender_scene, export_settings):
to_delete_idx.append(anim_idx)
+ # Merging extras
+ # Warning, some values can be overwritten if present in multiple merged animations
+ if animations[anim_idx].extras is not None:
+ for k in animations[anim_idx].extras.keys():
+ if animations[base_animation_idx].extras is None:
+ animations[base_animation_idx].extras = {}
+ animations[base_animation_idx].extras[k] = animations[anim_idx].extras[k]
+
offset_sampler = len(animations[base_animation_idx].samplers)
for sampler in animations[anim_idx].samplers:
animations[base_animation_idx].samplers.append(sampler)
diff --git a/io_scene_gltf2/blender/exp/gltf2_blender_gather_animations.py b/io_scene_gltf2/blender/exp/gltf2_blender_gather_animations.py
index de205913..d55c20b1 100755
--- a/io_scene_gltf2/blender/exp/gltf2_blender_gather_animations.py
+++ b/io_scene_gltf2/blender/exp/gltf2_blender_gather_animations.py
@@ -18,6 +18,7 @@ import typing
from io_scene_gltf2.io.com import gltf2_io
from io_scene_gltf2.blender.exp import gltf2_blender_gather_animation_channels
from io_scene_gltf2.io.com.gltf2_io_debug import print_console
+from ..com.gltf2_blender_extras import generate_extras
def gather_animations(blender_object: bpy.types.Object,
@@ -139,6 +140,9 @@ def __gather_extras(blender_action: bpy.types.Action,
blender_object: bpy.types.Object,
export_settings
) -> typing.Any:
+
+ if export_settings['gltf_extras']:
+ return generate_extras(blender_action)
return None