question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Stress test with official Blender Demo files

See original GitHub issue

Describe the bug

The Blender Foundation hosts a couple of official demo files on their website. It would be great if all/most/some of those could be exported as expected without errors.

Those files are quite sophisticated, so it would be a good stress test. I’m also aware that not all features/aspects of a model can be exported (e.g. materials not using the principled BRDF shader).

To Reproduce

I’m gonna give steps for one particular file, the “Hi, my name is Amy” file:

  1. Go to this web page and click the “Download” button to load the 220 MB file
  2. Open said file with Blender
  3. Try to export a glTF file (I tried both the entire scene or just the head mesh)
  4. See error
Python: Traceback (most recent call last):
  File "/Applications/Blender.app/Contents/Resources/2.93/scripts/addons/io_scene_gltf2/__init__.py", line 626, in execute
    return gltf2_blender_export.save(context, export_settings)
  File "/Applications/Blender.app/Contents/Resources/2.93/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_export.py", line 46, in save
    json, buffer = __export(export_settings)
  File "/Applications/Blender.app/Contents/Resources/2.93/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_export.py", line 63, in __export
    __gather_gltf(exporter, export_settings)
  File "/Applications/Blender.app/Contents/Resources/2.93/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_export.py", line 75, in __gather_gltf
    active_scene_idx, scenes, animations = gltf2_blender_gather.gather_gltf2(export_settings)
  File "/Applications/Blender.app/Contents/Resources/2.93/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_gather.py", line 39, in gather_gltf2
    animations += __gather_animations(blender_scene, export_settings)
  File "/Applications/Blender.app/Contents/Resources/2.93/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_gather.py", line 83, in __gather_animations
    animations_, merged_tracks = gltf2_blender_gather_animations.gather_animations(_blender_object, merged_tracks, len(animations), export_settings)
  File "/Applications/Blender.app/Contents/Resources/2.93/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_gather_animations.py", line 76, in gather_animations
    animation = __gather_animation(blender_action, blender_object, export_settings)
  File "/Applications/Blender.app/Contents/Resources/2.93/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_gather_animations.py", line 114, in __gather_animation
    channels=__gather_channels(blender_action, blender_object, export_settings),
  File "/Applications/Blender.app/Contents/Resources/2.93/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_gather_animations.py", line 149, in __gather_channels
    return gltf2_blender_gather_animation_channels.gather_animation_channels(
  File "/Applications/Blender.app/Contents/Resources/2.93/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_gather_cache.py", line 65, in wrapper_cached
    result = func(*args)
  File "/Applications/Blender.app/Contents/Resources/2.93/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_gather_animation_channels.py", line 74, in gather_animation_channels
    channel = __gather_animation_channel(
  File "/Applications/Blender.app/Contents/Resources/2.93/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_gather_animation_channels.py", line 202, in __gather_animation_channel
    sampler=__gather_sampler(channels, blender_object, export_settings, bake_bone, bake_channel, bake_range_start, bake_range_end, action_name, driver_obj),
  File "/Applications/Blender.app/Contents/Resources/2.93/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_gather_animation_channels.py", line 254, in __gather_sampler
    return gltf2_blender_gather_animation_samplers.gather_animation_sampler(
  File "/Applications/Blender.app/Contents/Resources/2.93/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_gather_cache.py", line 65, in wrapper_cached
    result = func(*args)
  File "/Applications/Blender.app/Contents/Resources/2.93/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_gather_animation_samplers.py", line 67, in gather_animation_sampler
    input=__gather_input(channels, blender_object_if_armature, non_keyed_values,
  File "/Applications/Blender.app/Contents/Resources/2.93/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_gather_cache.py", line 65, in wrapper_cached
    result = func(*args)
  File "/Applications/Blender.app/Contents/Resources/2.93/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_gather_animation_samplers.py", line 235, in __gather_input
    keyframes = gltf2_blender_gather_animation_sampler_keyframes.gather_keyframes(blender_object_if_armature,
  File "/Applications/Blender.app/Contents/Resources/2.93/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_gather_cache.py", line 65, in wrapper_cached
    result = func(*args)
  File "/Applications/Blender.app/Contents/Resources/2.93/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_gather_animation_sampler_keyframes.py", line 231, in gather_keyframes
    mat = get_bone_matrix(
  File "/Applications/Blender.app/Contents/Resources/2.93/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_gather_cache.py", line 90, in wrapper_bonecache
    result = func(*args)
  File "/Applications/Blender.app/Contents/Resources/2.93/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_gather_animation_sampler_keyframes.py", line 177, in get_bone_matrix
    drivers_to_manage = get_sk_drivers(obj_driver)
  File "/Applications/Blender.app/Contents/Resources/2.93/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_gather_cache.py", line 117, in wrapper_skdriverdiscover
    result = func(*args)
  File "/Applications/Blender.app/Contents/Resources/2.93/scripts/addons/io_scene_gltf2/blender/exp/gltf2_blender_gather_drivers.py", line 55, in get_sk_drivers
    idx = shapekeys_idx[sk_name]
KeyError: 'XZ_Wrist_Up.L'

Expected behavior A valid glTF file that can be loaded by reference viewers

Screenshots image

Version

  • OS: macOS 11.4
  • Blender Version 2.93 / glTF-Blender-IO 1.6.16

Thanks!

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:14 (7 by maintainers)

github_iconTop GitHub Comments

1reaction
juliendurourecommented, Aug 24, 2021

A complete refactoring (for better collection instance management) is in progress in #1378 I will test this file with the #1378 branch

1reaction
juliendurourecommented, Jul 16, 2021

Can you please test with blender 3.0 alpha / master ? This is probably #1415 , so already fixed.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Demo Files — blender.org
Animation test by Pablo Fournier, lighting and rendering by Andy Goralczyk. Rain rig by the Blender Animation Studio team. Watch the demo video....
Read more >
Blender files for large runs? - Overclock.net
Hello, So I, like most, have been using the blender "BMW" render as a staple for initial benchmark/stability testing.
Read more >
Blender Tutorial - Lesson 219 - Blender Demo Files - YouTube
In this tutorial, we will be discussing about Blender Demo Files in Blender.#blendertutorial #blenderanimation #blender3dLearn the basics of ...
Read more >
Example Scene Descriptions · rlguy/Blender-FLIP-Fluids Wiki
This scene will stress test the simulator. At the highest resolution, over 48 million fluid particles and 12 million whitewater particles will be...
Read more >
Blender 3.0 – How Fast Are GPUs in Cycles X, EEVEE ...
Blender 3.0 with official Sprite Fright project ... of the projects tested here were pulled from the aforementioned Blender demo files page, ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found