Model with animation exported using UnityGLTF as glb from Unity breaks Needle Blender project

I exported a model with animations on it from Unity via UnityGLTF > Export as glb in the scene and imported it to Blender 4.2 in a Needle example project, it immediately breaks the builds - logs below, the logs are a lot of the same repeated, this is happening with NLA tracks ticked:

2024-11-29 12:56:40: > Set animation pointer Talkit_02_Imported1.011 on Imported1.011 for property clip as /animations/43  (at gather_animation_hook)
2024-11-29 12:56:40: < Export Talkit_02_Imported1.011 on Imported1.011 as /animations/43  (at gather_animation_hook)
2024-11-29 12:56:40: < Export Talkit_03_Imported1.011 on Imported1.011 as /animations/44  (at gather_animation_hook)
2024-11-29 12:56:40: > Set animation pointer Talkit_03_Imported1.011 on Imported1.011 for property clip as /animations/44  (at gather_animation_hook)
2024-11-29 12:56:40: > Set animation pointer Talkit_03_Imported1.011 on Imported1.011 for property clip as /animations/44  (at gather_animation_hook)
2024-11-29 12:56:40: < Export Talkit_03_Imported1.011 on Imported1.011 as /animations/44  (at gather_animation_hook)
2024-11-29 12:56:42: EXPORT REPORT FOR 1 scenes to "C:/Git_General/Needle_Blender/blender samples/USDZProj/assets"  (at printReport)```

Hi Robyer1,

From the logs and the information provided, it seems the issue might be related to how the animations and NLA tracks are being exported and imported using the UnityGLTF and Needle Engine.

Here are a few suggestions to help resolve the issue:

  1. UnityGLTF Export: Make sure that the UnityGLTF plugin in Unity is exporting the animations with the proper settings. Check if the KHR_animation_pointer is enabled in your project settings, as this might affect the export and import of animations .

  2. Blender Import: When importing the GLB file into Blender, ensure that the Needle Engine Blender plugin supports the extensions and animation setups used in the exported GLB. Verify that the version of the Needle Engine you’re using in Blender supports the necessary features, as there have been recent updates that may address these issues .

  3. NLA Tracks: You mentioned that the issue occurs with NLA tracks ticked. Ensure that your NLA tracks are properly set up and saved in Blender before exporting from Unity. NLA tracks can sometimes cause unexpected behavior if not correctly managed .

  4. Animation Pointers and Components: Check if the Needle Engine Blender plugin recognizes the KHR_animation_pointer used in the GLTF file. This is important for properties beyond simple node and mesh animations .

To further investigate the issue:

  • Double-check the export settings in Unity and ensure that animation clips and all necessary components are connected correctly.
  • Review the Blender project settings for compatibility with GLB imports and Needle Engine usage.

If the issue persists, providing additional context or specific logs concerning the exported GLB file and its Blender import configuration could be helpful in diagnosing the problem further.

For more support, you might find the Needle Engine documentation or GitHub sample repository useful as reference points.

24 replies left
thread_eUwoRmoGukDM3cDHPaCLYV6k
Reply to this message to continue the conversation

Did you export it from UnityGLTF with KHR_animation_pointer enabled or disabled in the UnityGLTF plugin settings?

My understanding is that Blender’s animation pointer implementation is currently imcomplete. It’s not clear to me from your log where that message is coming from.

I’m reproducing the same issue with newly created actions in Blender LTS 4.2.4, the USDZ Animator Sample exports okay though but the buttons to play animation on click are doing nothing for me in Chrome windows

Can you provide proper repro steps please? :slight_smile: thanks

This is a minimal repro to show that in Blender 4.2.4 LTS, the play animation on click buttons do not respond - the same goes for the USDZ Animation example in the Blender samples, is there a version of Blender I should be sticking to for safe exports?

I will also zip up the project with animation export errors:

This is just shared to your email Felix - https://drive.google.com/file/d/1PGh5oyzOgE5WRCp-VP_M_v9LSOZQDQr-/view?usp=drive_link

Repro steps:

Make Needle project in Blender 4.2.4
Import the Talkit gltf model file from here https://drive.google.com/file/d/1Nyx5F89YrUqzgxg1YBTCYOFab8_CeJlm/view?usp=drive_link
Make 2 or 3 actions on it by animation any part of the model in Blender in the scene
Assign those animations to a Needle animation controller and try to play in local server to see errors after animations are made

I am also trying older Blender versions with the samples to try to get around this - with Blender 4.1 with the USDZ Animator sample I get these logs when I open the file and Export to Browser Preview

glTF2ExportUserExtension.gather_animation_channel_hook() takes 6 positional arguments but 8 were given
gather_animation_channel_hook fails on <Needle Engine Exporter for Blender.glTF2ExportUserExtension object at 0x00000214D1A1C450>
glTF2ExportUserExtension.gather_animation_channel_hook() takes 6 positional arguments but 8 were given
gather_animation_channel_hook fails on <Needle Engine Exporter for Blender.glTF2ExportUserExtension object at 0x00000214D1A1C450>

Hi, there has been a buggy blender version (the official Blender GLTF exporter) where the function was both used with 6 and with 8 arguments which is probably what you’re running into here as well

I observed this in 4.2 but it might be fixed in the latest version, could you try updating blender?

I am already on the latest Blender 4.2 version with 4.2.4 but I wanted to try Blender 4.3.0 but I get this error on adding the plugin. I can’t find a stable Blender version in the 4.x branch to stay on. There are no newer versions so I am trapped between Blender issues here.

4.3.0 Blender also has this fun issue where draco .dll isn’t found on import of some gltf files using Draco!

Is there a version of Blender I should use for the USDZ Animator and USDZ INteractivity samples? I checked the .blend files in a text editor and they use Blender v401 so I tried Blender 4.0.1 but I then got warnings the files were actually made with Blender 4.1.0 so I tried that version also which is where I got this error:

Thanks for reporting, I wasn’t aware of this issue in 4.3. Will look at this asap

Thanks, I’ll keep testing across the Blender versions and try to document what works/doesn’t and what the causes are

I’ve published a version that fixes the startup errors for 4.3

Some features in blender changed fundamentally (like postprocessing) and isn’t supported yet in 4.3

1 Like