""" blender_list_animations.py Usage: tooling/blender --background --python tooling/blender_list_animations.py -- Lists all animation actions in a GLB file. """ import sys import bpy if __name__ == "__main__": argv = sys.argv if "--" not in argv: print("Usage: tooling/blender --background --python tooling/blender_list_animations.py -- ") sys.exit(1) args = argv[argv.index("--") + 1:] if len(args) < 1: print("ERROR: Provide a GLB/GLTF path.") sys.exit(1) input_path = args[0] bpy.ops.wm.read_factory_settings(use_empty=True) bpy.ops.import_scene.gltf(filepath=input_path) actions = list(bpy.data.actions) print("ACTIONS_COUNT=" + str(len(actions))) for action in sorted(actions, key=lambda a: a.name): print("ACTION: " + action.name) # Also report armature bone count if present for obj in bpy.context.scene.objects: if obj.type == 'ARMATURE': print("ARMATURE_BONES=" + str(len(obj.data.bones)))