[SU4] 1.6.3 SDK Blender 3.6.22 ASOBO exporter 5.4.2 - NLA_tracks cause error - Khronos bug

Version: *1.*1.6.3 SDK Blender 3.6.22 ASOBO exporter 5.4.2

Frequency: Consistently

Severity: High/Blocker
(Low - quality of life, workflow optimization, rare enough to not impact production, etc…
High - critical but workarounds are available, important feature not working as expected, frequent enough to impact production
Blocker - prevents from working on the project, prevents from releasing the product)

Marketplace package name: if applicable

Context: What package? When editing or mounted from Community? In main menu or in flight? etc…

Similar MSFS 2020 issue: insert url here if applicable

Bug description:

Using NLA_tracks in Animation_mode rather than Actions in Blender 3.6.22 will cause an error in the export - this is due to a Khronos bug. (already reported)

Does not happen on previous versions of Blender 3.6.x (Unsure where change happened)

Traceback (most recent call last):
  File "F:\Program Files\Blender Foundation\Blender 3.6\3.6\scripts\addons\io_scene_gltf2\__init__.py", line 852, in execute
    return gltf2_blender_export.save(context, export_settings)
  File "F:\Program Files\Blender Foundation\Blender 3.6\3.6\scripts\addons\io_scene_gltf2\blender\exp\gltf2_blender_export.py", line 34, in save
    json, buffer = __export(export_settings)
  File "F:\Program Files\Blender Foundation\Blender 3.6\3.6\scripts\addons\io_scene_gltf2\blender\exp\gltf2_blender_export.py", line 51, in __export
    __gather_gltf(exporter, export_settings)
  File "F:\Program Files\Blender Foundation\Blender 3.6\3.6\scripts\addons\io_scene_gltf2\blender\exp\gltf2_blender_export.py", line 65, in __gather_gltf
    active_scene_idx, scenes, animations = gltf2_blender_gather.gather_gltf2(export_settings)
  File "F:\Program Files\Blender Foundation\Blender 3.6\3.6\scripts\addons\io_scene_gltf2\blender\exp\gltf2_blender_gather.py", line 32, in gather_gltf2
    animations += gather_animations(export_settings)
  File "F:\Program Files\Blender Foundation\Blender 3.6\3.6\scripts\addons\io_scene_gltf2\blender\exp\animation\gltf2_blender_gather_animations.py", line 21, in gather_animations
    return gather_tracks_animations(export_settings)
  File "F:\Program Files\Blender Foundation\Blender 3.6\3.6\scripts\addons\io_scene_gltf2\blender\exp\animation\gltf2_blender_gather_tracks.py", line 26, in gather_tracks_animations
    animations_, merged_tracks = gather_track_animations(obj_uuid, merged_tracks, len(animations), export_settings)
  File "F:\Program Files\Blender Foundation\Blender 3.6\3.6\scripts\addons\io_scene_gltf2\blender\exp\animation\gltf2_blender_gather_tracks.py", line 69, in gather_track_animations
    blender_object.animation_data.action = None
AttributeError: bpy_struct: attribute "action" from "AnimData" is read-only
Error: Python: Traceback (most recent call last):
  File "F:\Program Files\Blender Foundation\Blender 3.6\3.6\scripts\addons\io_scene_gltf2\__init__.py", line 852, in execute
    return gltf2_blender_export.save(context, export_settings)
  File "F:\Program Files\Blender Foundation\Blender 3.6\3.6\scripts\addons\io_scene_gltf2\blender\exp\gltf2_blender_export.py", line 34, in save
    json, buffer = __export(export_settings)
  File "F:\Program Files\Blender Foundation\Blender 3.6\3.6\scripts\addons\io_scene_gltf2\blender\exp\gltf2_blender_export.py", line 51, in __export
    __gather_gltf(exporter, export_settings)
  File "F:\Program Files\Blender Foundation\Blender 3.6\3.6\scripts\addons\io_scene_gltf2\blender\exp\gltf2_blender_export.py", line 65, in __gather_gltf
    active_scene_idx, scenes, animations = gltf2_blender_gather.gather_gltf2(export_settings)
  File "F:\Program Files\Blender Foundation\Blender 3.6\3.6\scripts\addons\io_scene_gltf2\blender\exp\gltf2_blender_gather.py", liTraceback (most recent call last):
  File "C:\Users\ronh9\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\io_scene_gltf2_msfs_2024\io\exp\msfs_multi_export.py", line 321, in export
    gltf = self.export_blender_3_6(context, file_path, self.msfs_export_settings)
  File "C:\Users\ronh9\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\io_scene_gltf2_msfs_2024\io\exp\msfs_multi_export.py", line 167, in export_blender_3_6
    return bpy.ops.export_scene.gltf(
  File "F:\Program Files\Blender Foundation\Blender 3.6\3.6\scripts\modules\bpy\ops.py", line 113, in __call__
    ret = _op_call(self.idname_py(), None, kw)

Repro steps:

Attachments:

Private attachments: Send a PM to @PrivateContent with the link to this topic and the link to download your content

Hello,

Tagging this as bug-logged as we have a task to automatically disable animation editing before export to prevent an error at the export.

Thank you for reporting this.

Regards,
Boris

1 Like

Khronos has an answer for the Actions/NLA Tracks issue

There is a Merge in the Bake options in 4.4 plus (4.5 LTS)

I forwarded this to @Yasmine.

Thank you,

Regards,
Boris

Hello,

From my tests this error appears only when you have one of your strips as edited stashed. If you have another repro steps i’ll take it. We prefer to have the same prefered way to export animations in both 4.2 and 4.5 so we’ll let “NLA” by default.

Oh sorry about that. I was wondering why it happens intermittent lately. I tried to retest this and the error did not appear on another test blend file.

Hi, I am getting these exact issues in Blender 3.6.23.

I have tried to lock the NLA tracks but the errors still happen the same.

Have I misunderstood the solution, or could you point me in the direction of the solution please?

see reply

Thanks @DA40CGDFQ for the reply and advice.

I only have the one animation which is pushed down to NLA Tracks. Unfortunately, I still get the errors when exporting, I’ve tried with the actual NLA Track locked and unlocked but the results are the same. Thank you for your input and thanks for the excellent youTube videos which are my primary learning source in this quest……