glTF exporter: export action custom props as animation extras

This commit is contained in:
Julien Duroure 2019-10-12 17:43:57 +02:00
parent ecdaef9523
commit 334ca375b5
3 changed files with 13 additions and 1 deletions

View File

@ -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, 0, 7),
"version": (1, 0, 8),
'blender': (2, 81, 6),
'location': 'File > Import-Export',
'description': 'Import-Export as glTF 2.0',

View File

@ -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)

View File

@ -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