glTF exporter: Fix regression exporting animated camera
Was introduced bu KHR_animation_pointer
This commit is contained in:
committed by
Philipp Oeser
parent
8112c2da0b
commit
aa8fd273cd
@@ -5,7 +5,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": (4, 2, 77),
|
||||
"version": (4, 2, 78),
|
||||
'blender': (4, 2, 0),
|
||||
'location': 'File > Import-Export',
|
||||
'description': 'Import-Export as glTF 2.0',
|
||||
|
||||
+48
-48
@@ -148,67 +148,67 @@ def gather_scene_animations(export_settings):
|
||||
|
||||
total_channels = []
|
||||
|
||||
# Export now KHR_animation_pointer for lights
|
||||
for light in export_settings['KHR_animation_pointer']['lights'].keys():
|
||||
if len(export_settings['KHR_animation_pointer']['lights'][light]['paths']) == 0:
|
||||
continue
|
||||
# Export now KHR_animation_pointer for lights
|
||||
for light in export_settings['KHR_animation_pointer']['lights'].keys():
|
||||
if len(export_settings['KHR_animation_pointer']['lights'][light]['paths']) == 0:
|
||||
continue
|
||||
|
||||
blender_light = [l for l in bpy.data.lights if id(l) == light][0]
|
||||
blender_light = [l for l in bpy.data.lights if id(l) == light][0]
|
||||
|
||||
export_settings['ranges'][id(blender_light)] = {}
|
||||
export_settings['ranges'][id(blender_light)][id(blender_light)] = {'start': start_frame, 'end': end_frame}
|
||||
export_settings['ranges'][id(blender_light)] = {}
|
||||
export_settings['ranges'][id(blender_light)][id(blender_light)] = {'start': start_frame, 'end': end_frame}
|
||||
|
||||
if export_settings['gltf_anim_slide_to_zero'] is True and start_frame > 0:
|
||||
add_slide_data(start_frame, light, light, export_settings, add_drivers=False)
|
||||
if export_settings['gltf_anim_slide_to_zero'] is True and start_frame > 0:
|
||||
add_slide_data(start_frame, light, light, export_settings, add_drivers=False)
|
||||
|
||||
channels = gather_data_sampled_channels('lights', light, light, None, export_settings)
|
||||
if channels is not None:
|
||||
total_channels.extend(channels)
|
||||
channels = gather_data_sampled_channels('lights', light, light, None, export_settings)
|
||||
if channels is not None:
|
||||
total_channels.extend(channels)
|
||||
|
||||
if export_settings['gltf_anim_scene_split_object'] is True:
|
||||
if len(total_channels) > 0:
|
||||
animation = gltf2_io.Animation(
|
||||
channels=total_channels,
|
||||
extensions=None,
|
||||
extras=__gather_extras(blender_light, export_settings),
|
||||
name=blender_light.name,
|
||||
samplers=[]
|
||||
)
|
||||
link_samplers(animation, export_settings)
|
||||
animations.append(animation)
|
||||
if export_settings['gltf_anim_scene_split_object'] is True:
|
||||
if len(total_channels) > 0:
|
||||
animation = gltf2_io.Animation(
|
||||
channels=total_channels,
|
||||
extensions=None,
|
||||
extras=__gather_extras(blender_light, export_settings),
|
||||
name=blender_light.name,
|
||||
samplers=[]
|
||||
)
|
||||
link_samplers(animation, export_settings)
|
||||
animations.append(animation)
|
||||
|
||||
total_channels = []
|
||||
total_channels = []
|
||||
|
||||
# Export now KHR_animation_pointer for cameras
|
||||
for cam in export_settings['KHR_animation_pointer']['cameras'].keys():
|
||||
if len(export_settings['KHR_animation_pointer']['cameras'][cam]['paths']) == 0:
|
||||
continue
|
||||
# Export now KHR_animation_pointer for cameras
|
||||
for cam in export_settings['KHR_animation_pointer']['cameras'].keys():
|
||||
if len(export_settings['KHR_animation_pointer']['cameras'][cam]['paths']) == 0:
|
||||
continue
|
||||
|
||||
blender_camera = [l for l in bpy.data.cameras if id(l) == cam][0]
|
||||
blender_camera = [l for l in bpy.data.cameras if id(l) == cam][0]
|
||||
|
||||
export_settings['ranges'][id(blender_camera)] = {}
|
||||
export_settings['ranges'][id(blender_camera)][id(blender_camera)] = {'start': start_frame, 'end': end_frame}
|
||||
export_settings['ranges'][id(blender_camera)] = {}
|
||||
export_settings['ranges'][id(blender_camera)][id(blender_camera)] = {'start': start_frame, 'end': end_frame}
|
||||
|
||||
if export_settings['gltf_anim_slide_to_zero'] is True and start_frame > 0:
|
||||
add_slide_data(start_frame, cam, cam, export_settings, add_drivers=False)
|
||||
if export_settings['gltf_anim_slide_to_zero'] is True and start_frame > 0:
|
||||
add_slide_data(start_frame, cam, cam, export_settings, add_drivers=False)
|
||||
|
||||
channels = gather_data_sampled_channels('cameras', cam, cam, None, export_settings)
|
||||
if channels is not None:
|
||||
total_channels.extend(channels)
|
||||
channels = gather_data_sampled_channels('cameras', cam, cam, None, export_settings)
|
||||
if channels is not None:
|
||||
total_channels.extend(channels)
|
||||
|
||||
if export_settings['gltf_anim_scene_split_object'] is True:
|
||||
if len(total_channels) > 0:
|
||||
animation = gltf2_io.Animation(
|
||||
channels=total_channels,
|
||||
extensions=None,
|
||||
extras=__gather_extras(blender_camera, export_settings),
|
||||
name=blender_camera.name,
|
||||
samplers=[]
|
||||
)
|
||||
link_samplers(animation, export_settings)
|
||||
animations.append(animation)
|
||||
if export_settings['gltf_anim_scene_split_object'] is True:
|
||||
if len(total_channels) > 0:
|
||||
animation = gltf2_io.Animation(
|
||||
channels=total_channels,
|
||||
extensions=None,
|
||||
extras=__gather_extras(blender_camera, export_settings),
|
||||
name=blender_camera.name,
|
||||
samplers=[]
|
||||
)
|
||||
link_samplers(animation, export_settings)
|
||||
animations.append(animation)
|
||||
|
||||
total_channels = []
|
||||
total_channels = []
|
||||
|
||||
if export_settings['gltf_anim_scene_split_object'] is False:
|
||||
if len(total_channels) > 0:
|
||||
|
||||
Reference in New Issue
Block a user