From 1f1b15ce39793e37af24b9bc83d4e349cf6e78b2 Mon Sep 17 00:00:00 2001 From: Jason0214 Date: Fri, 10 Aug 2018 15:50:50 -0700 Subject: [PATCH] add animation export option refactor test scenes, able to run different configuration --- .gitignore | 2 +- io_scene_godot/__init__.py | 43 +++++++++---- io_scene_godot/converters/animation.py | 24 ++++++-- tests/export_test_scenes.py | 58 ++++++++++++------ .../animation_bone_transform.escn | 0 .../animation_object_transform.escn | 0 .../animation_rotation_euler.escn | 0 .../constraint_external_IK.escn | 0 .../constraint_internal_IK.escn | 0 .../armature_bone_attachment.escn | 0 .../{ => armature}/armature_with_mesh.escn | 0 .../armature_with_non_deform_bone.escn | 0 .../armature_with_other_vertex_groups.escn | 0 .../{ => armature}/armature_with_physics.escn | 0 .../{ => armature}/armature_with_pose.escn | 0 .../{ => armature}/just_armature.escn | 0 .../{ => camera}/animation_camera.escn | 0 .../{ => camera}/just_cameras.escn | 0 .../animation_light_type_change.escn | 0 .../animation_point_light_shadow.escn | 0 .../{ => light}/animation_spot_light.escn | 0 .../animation_spot_light_transform.escn | 0 .../{ => light}/animation_sun.escn | 0 .../{ => light}/just_point_lights.escn | 0 .../{ => light}/just_spot_lights.escn | 0 .../{ => material}/material_search.escn | 2 +- .../{ => material}/simple_materials.escn | 0 .../{ => mesh}/just_mesh.escn | 0 .../{ => mesh}/parented_meshes.escn | 0 .../reference_exports/{ => mesh}/physics.escn | 0 .../{ => mesh}/tangent_test.escn | 0 .../{ => mesh}/uv_testing.escn | 0 .../{ => mesh}/vertex_color.escn | 0 .../animation_parented_objects.escn | 6 +- .../{ => shape_key}/animation_shapekey.escn | 0 .../{ => shape_key}/just_shapekey.escn | 0 .../shapekey_with_multi_surface.escn | 0 .../animation_bone_transform.blend | Bin .../animation_object_transform.blend | Bin .../animation_rotation_euler.blend | Bin .../constraint_external_IK.blend | Bin .../constraint_internal_IK.blend | Bin .../armature_bone_attachment.blend | Bin .../{ => armature}/armature_with_mesh.blend | Bin .../armature_with_non_deform_bone.blend | Bin .../armature_with_other_vertex_groups.blend | Bin .../armature_with_physics.blend | Bin .../{ => armature}/armature_with_pose.blend | Bin .../{ => armature}/just_armature.blend | Bin .../{ => camera}/animation_camera.blend | Bin .../{ => camera}/just_cameras.blend | Bin .../animation_light_type_change.blend | Bin .../animation_point_light_shadow.blend | Bin .../{ => light}/animation_spot_light.blend | Bin .../animation_spot_light_transform.blend | Bin .../{ => light}/animation_sun.blend | Bin .../{ => light}/just_point_lights.blend | Bin .../{ => light}/just_spot_lights.blend | Bin .../{ => material}/material_search.blend | Bin .../{ => material}/simple_materials.blend | Bin tests/test_scenes/{ => mesh}/just_mesh.blend | Bin .../{ => mesh}/parented_meshes.blend | Bin tests/test_scenes/{ => mesh}/physics.blend | Bin .../test_scenes/{ => mesh}/tangent_test.blend | Bin tests/test_scenes/{ => mesh}/uv_testing.blend | Bin .../test_scenes/{ => mesh}/vertex_color.blend | Bin .../animation_parented_objects.blend | Bin tests/test_scenes/scene_animation/config.json | 3 + .../{ => shape_key}/animation_shapekey.blend | Bin .../{ => shape_key}/just_shapekey.blend | Bin .../shapekey_with_multi_surface.blend | Bin 71 files changed, 98 insertions(+), 40 deletions(-) rename tests/reference_exports/{ => action_animation}/animation_bone_transform.escn (100%) rename tests/reference_exports/{ => action_animation}/animation_object_transform.escn (100%) rename tests/reference_exports/{ => action_animation}/animation_rotation_euler.escn (100%) rename tests/reference_exports/{ => action_animation}/constraint_external_IK.escn (100%) rename tests/reference_exports/{ => action_animation}/constraint_internal_IK.escn (100%) rename tests/reference_exports/{ => armature}/armature_bone_attachment.escn (100%) rename tests/reference_exports/{ => armature}/armature_with_mesh.escn (100%) rename tests/reference_exports/{ => armature}/armature_with_non_deform_bone.escn (100%) rename tests/reference_exports/{ => armature}/armature_with_other_vertex_groups.escn (100%) rename tests/reference_exports/{ => armature}/armature_with_physics.escn (100%) rename tests/reference_exports/{ => armature}/armature_with_pose.escn (100%) rename tests/reference_exports/{ => armature}/just_armature.escn (100%) rename tests/reference_exports/{ => camera}/animation_camera.escn (100%) rename tests/reference_exports/{ => camera}/just_cameras.escn (100%) rename tests/reference_exports/{ => light}/animation_light_type_change.escn (100%) rename tests/reference_exports/{ => light}/animation_point_light_shadow.escn (100%) rename tests/reference_exports/{ => light}/animation_spot_light.escn (100%) rename tests/reference_exports/{ => light}/animation_spot_light_transform.escn (100%) rename tests/reference_exports/{ => light}/animation_sun.escn (100%) rename tests/reference_exports/{ => light}/just_point_lights.escn (100%) rename tests/reference_exports/{ => light}/just_spot_lights.escn (100%) rename tests/reference_exports/{ => material}/material_search.escn (98%) rename tests/reference_exports/{ => material}/simple_materials.escn (100%) rename tests/reference_exports/{ => mesh}/just_mesh.escn (100%) rename tests/reference_exports/{ => mesh}/parented_meshes.escn (100%) rename tests/reference_exports/{ => mesh}/physics.escn (100%) rename tests/reference_exports/{ => mesh}/tangent_test.escn (100%) rename tests/reference_exports/{ => mesh}/uv_testing.escn (100%) rename tests/reference_exports/{ => mesh}/vertex_color.escn (100%) rename tests/reference_exports/{ => scene_animation}/animation_parented_objects.escn (99%) rename tests/reference_exports/{ => shape_key}/animation_shapekey.escn (100%) rename tests/reference_exports/{ => shape_key}/just_shapekey.escn (100%) rename tests/reference_exports/{ => shape_key}/shapekey_with_multi_surface.escn (100%) rename tests/test_scenes/{ => action_animation}/animation_bone_transform.blend (100%) rename tests/test_scenes/{ => action_animation}/animation_object_transform.blend (100%) rename tests/test_scenes/{ => action_animation}/animation_rotation_euler.blend (100%) rename tests/test_scenes/{ => action_animation}/constraint_external_IK.blend (100%) rename tests/test_scenes/{ => action_animation}/constraint_internal_IK.blend (100%) rename tests/test_scenes/{ => armature}/armature_bone_attachment.blend (100%) rename tests/test_scenes/{ => armature}/armature_with_mesh.blend (100%) rename tests/test_scenes/{ => armature}/armature_with_non_deform_bone.blend (100%) rename tests/test_scenes/{ => armature}/armature_with_other_vertex_groups.blend (100%) rename tests/test_scenes/{ => armature}/armature_with_physics.blend (100%) rename tests/test_scenes/{ => armature}/armature_with_pose.blend (100%) rename tests/test_scenes/{ => armature}/just_armature.blend (100%) rename tests/test_scenes/{ => camera}/animation_camera.blend (100%) rename tests/test_scenes/{ => camera}/just_cameras.blend (100%) rename tests/test_scenes/{ => light}/animation_light_type_change.blend (100%) rename tests/test_scenes/{ => light}/animation_point_light_shadow.blend (100%) rename tests/test_scenes/{ => light}/animation_spot_light.blend (100%) rename tests/test_scenes/{ => light}/animation_spot_light_transform.blend (100%) rename tests/test_scenes/{ => light}/animation_sun.blend (100%) rename tests/test_scenes/{ => light}/just_point_lights.blend (100%) rename tests/test_scenes/{ => light}/just_spot_lights.blend (100%) rename tests/test_scenes/{ => material}/material_search.blend (100%) rename tests/test_scenes/{ => material}/simple_materials.blend (100%) rename tests/test_scenes/{ => mesh}/just_mesh.blend (100%) rename tests/test_scenes/{ => mesh}/parented_meshes.blend (100%) rename tests/test_scenes/{ => mesh}/physics.blend (100%) rename tests/test_scenes/{ => mesh}/tangent_test.blend (100%) rename tests/test_scenes/{ => mesh}/uv_testing.blend (100%) rename tests/test_scenes/{ => mesh}/vertex_color.blend (100%) rename tests/test_scenes/{ => scene_animation}/animation_parented_objects.blend (100%) create mode 100644 tests/test_scenes/scene_animation/config.json rename tests/test_scenes/{ => shape_key}/animation_shapekey.blend (100%) rename tests/test_scenes/{ => shape_key}/just_shapekey.blend (100%) rename tests/test_scenes/{ => shape_key}/shapekey_with_multi_surface.blend (100%) diff --git a/.gitignore b/.gitignore index 43743de..4874fa4 100644 --- a/.gitignore +++ b/.gitignore @@ -2,7 +2,7 @@ __pycache__ *.blend[0-9] -tests/godot_project/exports/*.escn +tests/godot_project/exports/* .import *.import diff --git a/io_scene_godot/__init__.py b/io_scene_godot/__init__.py index e2fb3df..5b4fb8c 100644 --- a/io_scene_godot/__init__.py +++ b/io_scene_godot/__init__.py @@ -82,7 +82,7 @@ class ExportGodot(bpy.types.Operator, ExportHelper): description="Export only selected objects (and visible in active " "layers if that applies).", default=False, - ) + ) use_exclude_ctrl_bone = BoolProperty( name="Exclude Control Bones", description="Do not export control bones (bone.use_deform = false)", @@ -90,28 +90,47 @@ class ExportGodot(bpy.types.Operator, ExportHelper): ) use_export_animation = BoolProperty( name="Export Animation", - description="Export all the animation actions (include those " - "in nla_tracks), notice if an animated object has " - "an ancestor also has animated, its animation would " - "go into the ancetor's AnimationPlayer", + description="Export all the animation actions (include actions " + "in nla_tracks), note that by default blender animation " + "is exported as actions, so every node would have their " + "own AnimationPlayer hold their actions", default=True, - ) - use_seperate_animation_player = BoolProperty( - name="Seperate AnimationPlayer For Each Object", - description="Create a seperate AnimationPlayer node for every" - "blender object which has animtion data", - default=False, ) use_mesh_modifiers = BoolProperty( name="Apply Modifiers", description="Apply modifiers to mesh objects (on a copy!).", default=True, - ) + ) use_active_layers = BoolProperty( name="Active Layers", description="Export only objects on the active layers.", default=True, + ) + animation_modes = EnumProperty( + name="Animation Modes", + description="Configuration of how blender animation data being " + "exported to godot AnimationPlayer as well as the " + "placement of AnimationPlayers in the node tree.", + default="ACTIONS", + items=( + ( + "ACTIONS", "Animation as Actions", + "Each animated node would have their own AnimationPlayer" + ), + ( + "SCENE_ANIMATION", "Scene Animation", + "All the animations of the whole scene would be placed " + "into one AnimationPlayer at scene root" + ), + ( + "SQUASHED_ACTIONS", "Animation as Actions with Squash", + "Animation is exported as actions of nodes, but instead " + "of having an individual AnimationPlayer for each node, " + "this configuration would squash children nodes' actions " + "to their parents" + ) ) + ) material_search_paths = EnumProperty( name="Material Search Paths", description="Search for existing godot materials with names that match" diff --git a/io_scene_godot/converters/animation.py b/io_scene_godot/converters/animation.py index 54d91cf..b65b816 100644 --- a/io_scene_godot/converters/animation.py +++ b/io_scene_godot/converters/animation.py @@ -229,12 +229,26 @@ def transform_frames_to_keys(frame_list, value_list, interp): def get_animation_player(escn_file, export_settings, godot_node): - """Get a AnimationPlayer node, if not existed, a new - one will be created and returned""" + """Get a AnimationPlayer node, its return value depends + on animation exporting settings""" animation_player = None + # the parent of AnimationPlayer + animation_base = None - # looking for a existed AnimationPlayer - if not export_settings['use_seperate_animation_player']: + if export_settings['animation_modes'] == 'ACTIONS': + animation_base = godot_node + elif export_settings['animation_modes'] == 'SCENE_ANIMATION': + node_ptr = godot_node + while node_ptr.parent is not None: + node_ptr = node_ptr.parent + scene_root = node_ptr + animation_base = scene_root + for child in scene_root.children: + if child.get_type() == 'AnimationPlayer': + animation_player = child + break + else: # export_settings['animation_modes'] == 'SQUASHED_ACTIONS': + animation_base = godot_node node_ptr = godot_node while node_ptr is not None: for child in node_ptr.children: @@ -248,7 +262,7 @@ def get_animation_player(escn_file, export_settings, godot_node): if animation_player is None: animation_player = AnimationPlayer( name='AnimationPlayer', - parent=godot_node, + parent=animation_base, ) escn_file.add_node(animation_player) diff --git a/tests/export_test_scenes.py b/tests/export_test_scenes.py index 24e80b2..4643d65 100644 --- a/tests/export_test_scenes.py +++ b/tests/export_test_scenes.py @@ -2,34 +2,56 @@ import bpy import os import sys import traceback +import json sys.path = [os.getcwd()] + sys.path # Ensure exporter from this folder -from io_scene_godot import export_godot +TEST_SCENE_DIR = os.path.join(os.getcwd(), "tests/test_scenes") +EXPORTED_DIR = os.path.join(os.getcwd(), "tests/godot_project/exports") -def export_escn(out_file): +def export_escn(out_file, config): """Fake the export operator call""" import io_scene_godot - io_scene_godot.export(out_file, {}) + io_scene_godot.export(out_file, config) def main(): - target_dir = os.path.join(os.getcwd(), "tests/test_scenes") - for file_name in os.listdir(target_dir): - full_path = os.path.join(target_dir, file_name) - if full_path.endswith(".blend"): - print("Exporting {}".format(full_path)) - bpy.ops.wm.open_mainfile(filepath=full_path) + dir_queue = list() + dir_queue.append('.') + while dir_queue: + dir_relpath = dir_queue.pop(0) - out_path, blend_name = os.path.split(full_path) - out_path = os.path.join( - out_path, - '../godot_project/exports/', - blend_name.replace('.blend', '.escn') - ) - print(out_path) - export_escn(out_path) - print("Exported") + # read config file if present, otherwise use default + src_dir_path = os.path.join(TEST_SCENE_DIR, dir_relpath) + if os.path.exists(os.path.join(src_dir_path, "config.json")): + with open(os.path.join(src_dir_path, "config.json")) as config_file: + config = json.load(config_file) + else: + config = {} + + # create exported to directory + exported_dir_path = os.path.join(EXPORTED_DIR, dir_relpath) + if not os.path.exists(exported_dir_path): + os.makedirs(exported_dir_path) + + for item in os.listdir(os.path.join(TEST_SCENE_DIR, dir_relpath)): + item_abspath = os.path.join(TEST_SCENE_DIR, dir_relpath, item) + if os.path.isdir(item_abspath): + # push dir into queue for later traversal + dir_queue.append(os.path.join(dir_relpath, item)) + elif item_abspath.endswith('blend'): + # export blend file + print("---------") + print("Exporting {}".format(os.path.abspath(item_abspath))) + bpy.ops.wm.open_mainfile(filepath=item_abspath) + + out_path = os.path.join( + EXPORTED_DIR, + dir_relpath, + item.replace('.blend', '.escn') + ) + export_escn(out_path, config) + print("Exported to {}".format(os.path.abspath(out_path))) def run_with_abort(function): diff --git a/tests/reference_exports/animation_bone_transform.escn b/tests/reference_exports/action_animation/animation_bone_transform.escn similarity index 100% rename from tests/reference_exports/animation_bone_transform.escn rename to tests/reference_exports/action_animation/animation_bone_transform.escn diff --git a/tests/reference_exports/animation_object_transform.escn b/tests/reference_exports/action_animation/animation_object_transform.escn similarity index 100% rename from tests/reference_exports/animation_object_transform.escn rename to tests/reference_exports/action_animation/animation_object_transform.escn diff --git a/tests/reference_exports/animation_rotation_euler.escn b/tests/reference_exports/action_animation/animation_rotation_euler.escn similarity index 100% rename from tests/reference_exports/animation_rotation_euler.escn rename to tests/reference_exports/action_animation/animation_rotation_euler.escn diff --git a/tests/reference_exports/constraint_external_IK.escn b/tests/reference_exports/action_animation/constraint_external_IK.escn similarity index 100% rename from tests/reference_exports/constraint_external_IK.escn rename to tests/reference_exports/action_animation/constraint_external_IK.escn diff --git a/tests/reference_exports/constraint_internal_IK.escn b/tests/reference_exports/action_animation/constraint_internal_IK.escn similarity index 100% rename from tests/reference_exports/constraint_internal_IK.escn rename to tests/reference_exports/action_animation/constraint_internal_IK.escn diff --git a/tests/reference_exports/armature_bone_attachment.escn b/tests/reference_exports/armature/armature_bone_attachment.escn similarity index 100% rename from tests/reference_exports/armature_bone_attachment.escn rename to tests/reference_exports/armature/armature_bone_attachment.escn diff --git a/tests/reference_exports/armature_with_mesh.escn b/tests/reference_exports/armature/armature_with_mesh.escn similarity index 100% rename from tests/reference_exports/armature_with_mesh.escn rename to tests/reference_exports/armature/armature_with_mesh.escn diff --git a/tests/reference_exports/armature_with_non_deform_bone.escn b/tests/reference_exports/armature/armature_with_non_deform_bone.escn similarity index 100% rename from tests/reference_exports/armature_with_non_deform_bone.escn rename to tests/reference_exports/armature/armature_with_non_deform_bone.escn diff --git a/tests/reference_exports/armature_with_other_vertex_groups.escn b/tests/reference_exports/armature/armature_with_other_vertex_groups.escn similarity index 100% rename from tests/reference_exports/armature_with_other_vertex_groups.escn rename to tests/reference_exports/armature/armature_with_other_vertex_groups.escn diff --git a/tests/reference_exports/armature_with_physics.escn b/tests/reference_exports/armature/armature_with_physics.escn similarity index 100% rename from tests/reference_exports/armature_with_physics.escn rename to tests/reference_exports/armature/armature_with_physics.escn diff --git a/tests/reference_exports/armature_with_pose.escn b/tests/reference_exports/armature/armature_with_pose.escn similarity index 100% rename from tests/reference_exports/armature_with_pose.escn rename to tests/reference_exports/armature/armature_with_pose.escn diff --git a/tests/reference_exports/just_armature.escn b/tests/reference_exports/armature/just_armature.escn similarity index 100% rename from tests/reference_exports/just_armature.escn rename to tests/reference_exports/armature/just_armature.escn diff --git a/tests/reference_exports/animation_camera.escn b/tests/reference_exports/camera/animation_camera.escn similarity index 100% rename from tests/reference_exports/animation_camera.escn rename to tests/reference_exports/camera/animation_camera.escn diff --git a/tests/reference_exports/just_cameras.escn b/tests/reference_exports/camera/just_cameras.escn similarity index 100% rename from tests/reference_exports/just_cameras.escn rename to tests/reference_exports/camera/just_cameras.escn diff --git a/tests/reference_exports/animation_light_type_change.escn b/tests/reference_exports/light/animation_light_type_change.escn similarity index 100% rename from tests/reference_exports/animation_light_type_change.escn rename to tests/reference_exports/light/animation_light_type_change.escn diff --git a/tests/reference_exports/animation_point_light_shadow.escn b/tests/reference_exports/light/animation_point_light_shadow.escn similarity index 100% rename from tests/reference_exports/animation_point_light_shadow.escn rename to tests/reference_exports/light/animation_point_light_shadow.escn diff --git a/tests/reference_exports/animation_spot_light.escn b/tests/reference_exports/light/animation_spot_light.escn similarity index 100% rename from tests/reference_exports/animation_spot_light.escn rename to tests/reference_exports/light/animation_spot_light.escn diff --git a/tests/reference_exports/animation_spot_light_transform.escn b/tests/reference_exports/light/animation_spot_light_transform.escn similarity index 100% rename from tests/reference_exports/animation_spot_light_transform.escn rename to tests/reference_exports/light/animation_spot_light_transform.escn diff --git a/tests/reference_exports/animation_sun.escn b/tests/reference_exports/light/animation_sun.escn similarity index 100% rename from tests/reference_exports/animation_sun.escn rename to tests/reference_exports/light/animation_sun.escn diff --git a/tests/reference_exports/just_point_lights.escn b/tests/reference_exports/light/just_point_lights.escn similarity index 100% rename from tests/reference_exports/just_point_lights.escn rename to tests/reference_exports/light/just_point_lights.escn diff --git a/tests/reference_exports/just_spot_lights.escn b/tests/reference_exports/light/just_spot_lights.escn similarity index 100% rename from tests/reference_exports/just_spot_lights.escn rename to tests/reference_exports/light/just_spot_lights.escn diff --git a/tests/reference_exports/material_search.escn b/tests/reference_exports/material/material_search.escn similarity index 98% rename from tests/reference_exports/material_search.escn rename to tests/reference_exports/material/material_search.escn index 31a7f1c..5f35232 100644 --- a/tests/reference_exports/material_search.escn +++ b/tests/reference_exports/material/material_search.escn @@ -1,5 +1,5 @@ [gd_scene load_steps=1 format=2] -[ext_resource id=1 path="../uv_tester_material.tres" type="SpatialMaterial"] +[ext_resource id=1 path="../../uv_tester_material.tres" type="SpatialMaterial"] [sub_resource id=1 type="ArrayMesh"] diff --git a/tests/reference_exports/simple_materials.escn b/tests/reference_exports/material/simple_materials.escn similarity index 100% rename from tests/reference_exports/simple_materials.escn rename to tests/reference_exports/material/simple_materials.escn diff --git a/tests/reference_exports/just_mesh.escn b/tests/reference_exports/mesh/just_mesh.escn similarity index 100% rename from tests/reference_exports/just_mesh.escn rename to tests/reference_exports/mesh/just_mesh.escn diff --git a/tests/reference_exports/parented_meshes.escn b/tests/reference_exports/mesh/parented_meshes.escn similarity index 100% rename from tests/reference_exports/parented_meshes.escn rename to tests/reference_exports/mesh/parented_meshes.escn diff --git a/tests/reference_exports/physics.escn b/tests/reference_exports/mesh/physics.escn similarity index 100% rename from tests/reference_exports/physics.escn rename to tests/reference_exports/mesh/physics.escn diff --git a/tests/reference_exports/tangent_test.escn b/tests/reference_exports/mesh/tangent_test.escn similarity index 100% rename from tests/reference_exports/tangent_test.escn rename to tests/reference_exports/mesh/tangent_test.escn diff --git a/tests/reference_exports/uv_testing.escn b/tests/reference_exports/mesh/uv_testing.escn similarity index 100% rename from tests/reference_exports/uv_testing.escn rename to tests/reference_exports/mesh/uv_testing.escn diff --git a/tests/reference_exports/vertex_color.escn b/tests/reference_exports/mesh/vertex_color.escn similarity index 100% rename from tests/reference_exports/vertex_color.escn rename to tests/reference_exports/mesh/vertex_color.escn diff --git a/tests/reference_exports/animation_parented_objects.escn b/tests/reference_exports/scene_animation/animation_parented_objects.escn similarity index 99% rename from tests/reference_exports/animation_parented_objects.escn rename to tests/reference_exports/scene_animation/animation_parented_objects.escn index 26af42c..c790347 100644 --- a/tests/reference_exports/animation_parented_objects.escn +++ b/tests/reference_exports/scene_animation/animation_parented_objects.escn @@ -33,11 +33,11 @@ surfaces/0 = { step = 0.1 length = 3.33333 tracks/0/type = "transform" -tracks/0/path = NodePath(".:") +tracks/0/path = NodePath("Cube:") tracks/0/interp = 1 tracks/0/keys = [0.0416667, 1.0, 0.0971814, 1.97777, 0.785397, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0833333, 1.0, 0.0972337, 1.98111, 0.786094, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.125, 1.0, 0.0973914, 1.9912, 0.788191, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.166667, 1.0, 0.0976552, 2.00806, 0.791698, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.208333, 1.0, 0.0980257, 2.03174, 0.796624, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.25, 1.0, 0.0985032, 2.06226, 0.802973, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.291667, 1.0, 0.0990878, 2.09963, 0.810746, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.333333, 1.0, 0.0997793, 2.14383, 0.819942, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.375, 1.0, 0.100577, 2.19485, 0.830555, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.416667, 1.0, 0.101481, 2.25263, 0.842573, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.458333, 1.0, 0.10249, 2.3171, 0.855984, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.5, 1.0, 0.103602, 2.38816, 0.870765, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.541667, 1.0, 0.104814, 2.46569, 0.886893, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.583333, 1.0, 0.106126, 2.54954, 0.904336, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.625, 1.0, 0.107534, 2.63953, 0.923056, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.666667, 1.0, 0.109035, 2.73546, 0.943011, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.708333, 1.0, 0.110625, 2.83708, 0.96415, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.75, 1.0, 0.112299, 2.94413, 0.986416, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.791667, 1.0, 0.114054, 3.05628, 1.00975, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.833333, 1.0, 0.115883, 3.17322, 1.03407, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.875, 1.0, 0.117781, 3.29456, 1.05931, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.916667, 1.0, 0.119742, 3.41991, 1.08539, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.958333, 1.0, 0.121759, 3.54885, 1.11221, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.123825, 3.6809, 1.13968, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.04167, 1.0, 0.125932, 3.8156, 1.1677, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.08333, 1.0, 0.128073, 3.95244, 1.19616, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.125, 1.0, 0.130239, 4.0909, 1.22496, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.16667, 1.0, 0.132422, 4.23044, 1.25399, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.20833, 1.0, 0.134614, 4.37054, 1.28313, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.25, 1.0, 0.136806, 4.51064, 1.31228, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.29167, 1.0, 0.138989, 4.65018, 1.34131, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.33333, 1.0, 0.141155, 4.78864, 1.37011, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.375, 1.0, 0.143295, 4.92548, 1.39857, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.41667, 1.0, 0.145403, 5.06018, 1.42659, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.45833, 1.0, 0.147469, 5.19223, 1.45406, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.5, 1.0, 0.149486, 5.32117, 1.48088, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.54167, 1.0, 0.151447, 5.44652, 1.50696, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.58333, 1.0, 0.153345, 5.56786, 1.5322, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.625, 1.0, 0.155174, 5.6848, 1.55652, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.66667, 1.0, 0.156929, 5.79696, 1.57985, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.70833, 1.0, 0.158603, 5.904, 1.60212, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.75, 1.0, 0.160193, 6.00562, 1.62326, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.79167, 1.0, 0.161694, 6.10155, 1.64321, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.83333, 1.0, 0.163102, 6.19154, 1.66193, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.875, 1.0, 0.164413, 6.27539, 1.67938, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.91667, 1.0, 0.165626, 6.35293, 1.6955, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.95833, 1.0, 0.166738, 6.42398, 1.71029, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 2.0, 1.0, 0.167747, 6.48845, 1.7237, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 2.04167, 1.0, 0.16865, 6.54623, 1.73572, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 2.08333, 1.0, 0.169449, 6.59725, 1.74633, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 2.125, 1.0, 0.17014, 6.64145, 1.75552, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 2.16667, 1.0, 0.170725, 6.67882, 1.7633, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 2.20833, 1.0, 0.171202, 6.70934, 1.76965, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 2.25, 1.0, 0.171573, 6.73302, 1.77457, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 2.29167, 1.0, 0.171836, 6.74989, 1.77808, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 2.33333, 1.0, 0.171994, 6.75997, 1.78018, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 2.375, 1.0, 0.172047, 6.76331, 1.78087, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0] tracks/1/type = "transform" -tracks/1/path = NodePath("CUB2:") +tracks/1/path = NodePath("Cube/CUB2:") tracks/1/interp = 1 tracks/1/keys = [0.0416667, 1.0, 3.5422, -3.40839, -3.35921, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0833333, 1.0, 3.53772, -3.40839, -3.35964, -4.6595e-05, -0.000267629, 0.00054497, 1.0, 1.0, 1.0, 1.0, 0.125, 1.0, 3.52422, -3.40841, -3.36094, -0.00018684, -0.00107316, 0.00218526, 0.999997, 1.0, 1.0, 1.0, 0.166667, 1.0, 3.50163, -3.40847, -3.36314, -0.000421074, -0.00241854, 0.00492483, 0.999985, 1.0, 1.0, 1.0, 0.208333, 1.0, 3.4699, -3.40858, -3.36623, -0.000749152, -0.00430293, 0.00876199, 0.999952, 0.999999, 0.999999, 1.0, 0.25, 1.0, 3.42901, -3.40877, -3.37023, -0.00117042, -0.0067226, 0.0136891, 0.999883, 0.999995, 0.999996, 0.999999, 0.291667, 1.0, 3.37896, -3.40906, -3.37516, -0.00168372, -0.00967087, 0.0196927, 0.999758, 0.999984, 0.999987, 0.999997, 0.333333, 1.0, 3.3198, -3.40947, -3.38101, -0.00228738, -0.0131381, 0.0267533, 0.999553, 0.99996, 0.999968, 0.999992, 0.375, 1.0, 3.25159, -3.41004, -3.38778, -0.00297923, -0.0171119, 0.0348457, 0.999242, 0.999912, 0.999929, 0.999982, 0.416667, 1.0, 3.17444, -3.41079, -3.39549, -0.00375663, -0.0215772, 0.0439396, 0.998794, 0.999825, 0.999858, 0.999965, 0.458333, 1.0, 3.08852, -3.41175, -3.40412, -0.00461654, -0.0265161, 0.0539998, 0.998178, 0.999677, 0.999738, 0.999935, 0.5, 1.0, 2.99402, -3.41296, -3.41368, -0.00555555, -0.031909, 0.0649871, 0.99736, 0.999442, 0.999547, 0.999888, 0.541667, 1.0, 2.8912, -3.41445, -3.42414, -0.00656995, -0.0377342, 0.0768594, 0.996306, 0.999088, 0.99926, 0.999817, 0.583333, 1.0, 2.78035, -3.41625, -3.4355, -0.0076559, -0.0439683, 0.089572, 0.99498, 0.998576, 0.998844, 0.999715, 0.625, 1.0, 2.66183, -3.4184, -3.44772, -0.00880945, -0.0505872, 0.103079, 0.993347, 0.997864, 0.998267, 0.999573, 0.666667, 1.0, 2.53607, -3.42095, -3.4608, -0.0100267, -0.0575656, 0.117334, 0.991372, 0.99691, 0.997493, 0.999382, 0.708333, 1.0, 2.40352, -3.42392, -3.4747, -0.011304, -0.0648782, 0.132292, 0.989021, 0.995671, 0.996488, 0.999135, 0.75, 1.0, 2.26472, -3.42736, -3.48938, -0.0126379, -0.0724994, 0.147907, 0.98626, 0.994108, 0.995221, 0.998823, 0.791667, 1.0, 2.12024, -3.4313, -3.5048, -0.0140255, -0.0804036, 0.164135, 0.983056, 0.99219, 0.993667, 0.998441, 0.833333, 1.0, 1.97073, -3.43579, -3.52091, -0.0154641, -0.0885658, 0.180933, 0.979378, 0.9899, 0.991811, 0.997986, 0.875, 1.0, 1.81685, -3.44086, -3.53768, -0.0169516, -0.096961, 0.198258, 0.975195, 0.987233, 0.989651, 0.997457, 0.916667, 1.0, 1.65935, -3.44656, -3.55503, -0.0184864, -0.105565, 0.216069, 0.970479, 0.984207, 0.987202, 0.996858, 0.958333, 1.0, 1.49899, -3.4529, -3.57291, -0.0200669, -0.114352, 0.234319, 0.965202, 0.980857, 0.984492, 0.996197, 1.0, 1.0, 1.33655, -3.45994, -3.59126, -0.0216914, -0.123297, 0.252961, 0.959343, 0.977245, 0.981573, 0.995486, 1.04167, 1.0, 1.17287, -3.46769, -3.61, -0.0233578, -0.132374, 0.271941, 0.952879, 0.973455, 0.978512, 0.994742, 1.08333, 1.0, 1.00876, -3.47619, -3.62908, -0.0250632, -0.141557, 0.2912, 0.945799, 0.969591, 0.975393, 0.993987, 1.125, 1.0, 0.845081, -3.48546, -3.64841, -0.0268032, -0.150815, 0.310668, 0.938095, 0.965777, 0.972317, 0.993243, 1.16667, 1.0, 0.682646, -3.49552, -3.66794, -0.0285714, -0.160119, 0.330265, 0.929769, 0.962147, 0.969392, 0.992538, 1.20833, 1.0, 0.522281, -3.50638, -3.68757, -0.0303595, -0.169433, 0.349903, 0.920836, 0.958845, 0.966733, 0.991898, 1.25, 1.0, 0.364779, -3.51807, -3.70725, -0.0321564, -0.17872, 0.369479, 0.911323, 0.95601, 0.964452, 0.99135, 1.29167, 1.0, 0.210907, -3.53059, -3.72691, -0.0339484, -0.187941, 0.388884, 0.901274, 0.953773, 0.962653, 0.990918, 1.33333, 1.0, 0.0613914, -3.54394, -3.74647, -0.0357196, -0.197054, 0.407997, 0.890748, 0.952246, 0.961425, 0.990624, 1.375, 1.0, -0.0830858, -3.55814, -3.76587, -0.0374522, -0.206011, 0.426696, 0.879822, 0.951512, 0.960836, 0.990483, 1.41667, 1.0, -0.221889, -3.57317, -3.78505, -0.0391273, -0.214766, 0.444855, 0.86859, 0.951627, 0.960928, 0.990505, 1.45833, 1.0, -0.354436, -3.58903, -3.80395, -0.0407261, -0.223271, 0.46235, 0.857161, 0.952605, 0.961714, 0.990693, 1.5, 1.0, -0.480202, -3.60571, -3.82252, -0.0422308, -0.231475, 0.479066, 0.845655, 0.954426, 0.963178, 0.991044, 1.54167, 1.0, -0.598715, -3.6232, -3.84071, -0.0436258, -0.23933, 0.494895, 0.834204, 0.957028, 0.965271, 0.991546, 1.58333, 1.0, -0.709563, -3.64149, -3.85847, -0.0448987, -0.246789, 0.509745, 0.822946, 0.960319, 0.96792, 0.992183, 1.625, 1.0, -0.812389, -3.66056, -3.87576, -0.046041, -0.253807, 0.523536, 0.812017, 0.964174, 0.971025, 0.992931, 1.66667, 1.0, -0.906887, -3.68039, -3.89255, -0.0470485, -0.260341, 0.536205, 0.801557, 0.968446, 0.974469, 0.993763, 1.70833, 1.0, -0.99281, -3.70097, -3.9088, -0.047921, -0.266354, 0.547705, 0.791694, 0.972973, 0.978123, 0.994648, 1.75, 1.0, -1.06995, -3.72227, -3.92449, -0.0486624, -0.271811, 0.558001, 0.782551, 0.977586, 0.981849, 0.995553, 1.79167, 1.0, -1.13816, -3.74427, -3.93959, -0.04928, -0.276682, 0.567075, 0.774238, 0.982116, 0.98551, 0.996445, 1.83333, 1.0, -1.19733, -3.76696, -3.95409, -0.0497832, -0.280942, 0.574915, 0.766854, 0.986399, 0.988976, 0.997292, 1.875, 1.0, -1.24738, -3.79029, -3.96797, -0.0501829, -0.284572, 0.581522, 0.760482, 0.990286, 0.992123, 0.998063, 1.91667, 1.0, -1.28827, -3.81426, -3.98121, -0.0504905, -0.287555, 0.5869, 0.75519, 0.993645, 0.994846, 0.998731, 1.95833, 1.0, -1.31999, -3.83884, -3.99381, -0.0507166, -0.28988, 0.59106, 0.75103, 0.996368, 0.997054, 0.999274, 2.0, 1.0, -1.34258, -3.86401, -4.00576, -0.0508707, -0.291541, 0.594014, 0.748039, 0.998369, 0.998677, 0.999674, 2.04167, 1.0, -1.35609, -3.88974, -4.01705, -0.0509599, -0.292537, 0.595777, 0.746241, 0.999591, 0.999668, 0.999918, 2.08333, 1.0, -1.36057, -3.91601, -4.02768, -0.050989, -0.292867, 0.596361, 0.745642, 1.0, 1.0, 1.0, 2.125, 1.0, -1.34736, -3.9447, -4.03804, -0.050989, -0.292867, 0.596361, 0.745642, 1.0, 1.0, 1.0, 2.16667, 1.0, -1.30748, -3.97768, -4.04848, -0.050989, -0.292867, 0.596361, 0.745642, 1.0, 1.0, 1.0, 2.20833, 1.0, -1.24071, -4.01495, -4.05898, -0.050989, -0.292867, 0.596361, 0.745642, 1.0, 1.0, 1.0, 2.25, 1.0, -1.14701, -4.05646, -4.06952, -0.050989, -0.292867, 0.596361, 0.745642, 1.0, 1.0, 1.0, 2.29167, 1.0, -1.0266, -4.10209, -4.08008, -0.050989, -0.292867, 0.596361, 0.745642, 1.0, 1.0, 1.0, 2.33333, 1.0, -0.879998, -4.15169, -4.09061, -0.050989, -0.292867, 0.596361, 0.745642, 1.0, 1.0, 1.0, 2.375, 1.0, -0.708052, -4.20503, -4.1011, -0.050989, -0.292867, 0.596361, 0.745642, 1.0, 1.0, 1.0, 2.41667, 1.0, -0.512001, -4.26182, -4.11148, -0.050989, -0.292867, 0.596361, 0.745642, 1.0, 1.0, 1.0, 2.45833, 1.0, -0.293499, -4.3217, -4.12173, -0.050989, -0.292867, 0.596361, 0.745642, 1.0, 1.0, 1.0, 2.5, 1.0, -0.0546358, -4.38422, -4.13179, -0.050989, -0.292867, 0.596361, 0.745642, 1.0, 1.0, 1.0, 2.54167, 1.0, 0.202055, -4.44886, -4.14162, -0.050989, -0.292867, 0.596361, 0.745642, 1.0, 1.0, 1.0, 2.58333, 1.0, 0.473615, -4.51504, -4.15116, -0.050989, -0.292867, 0.596361, 0.745642, 1.0, 1.0, 1.0, 2.625, 1.0, 0.756704, -4.58211, -4.16035, -0.050989, -0.292867, 0.596361, 0.745642, 1.0, 1.0, 1.0, 2.66667, 1.0, 1.04767, -4.64939, -4.16916, -0.050989, -0.292867, 0.596361, 0.745642, 1.0, 1.0, 1.0, 2.70833, 1.0, 1.34263, -4.71615, -4.17753, -0.050989, -0.292867, 0.596361, 0.745642, 1.0, 1.0, 1.0, 2.75, 1.0, 1.63759, -4.78167, -4.18542, -0.050989, -0.292867, 0.596361, 0.745642, 1.0, 1.0, 1.0, 2.79167, 1.0, 1.92856, -4.84525, -4.19279, -0.050989, -0.292867, 0.596361, 0.745642, 1.0, 1.0, 1.0, 2.83333, 1.0, 2.21164, -4.9062, -4.19961, -0.050989, -0.292867, 0.596361, 0.745642, 1.0, 1.0, 1.0, 2.875, 1.0, 2.4832, -4.96392, -4.20586, -0.050989, -0.292867, 0.596361, 0.745642, 1.0, 1.0, 1.0, 2.91667, 1.0, 2.73989, -5.01784, -4.21153, -0.050989, -0.292867, 0.596361, 0.745642, 1.0, 1.0, 1.0, 2.95833, 1.0, 2.97876, -5.06749, -4.21659, -0.050989, -0.292867, 0.596361, 0.745642, 1.0, 1.0, 1.0, 3.0, 1.0, 3.19726, -5.11249, -4.22106, -0.050989, -0.292867, 0.596361, 0.745642, 1.0, 1.0, 1.0, 3.04167, 1.0, 3.39331, -5.15252, -4.22494, -0.050989, -0.292867, 0.596361, 0.745642, 1.0, 1.0, 1.0, 3.08333, 1.0, 3.56526, -5.18736, -4.22823, -0.050989, -0.292867, 0.596361, 0.745642, 1.0, 1.0, 1.0, 3.125, 1.0, 3.71186, -5.21685, -4.23096, -0.050989, -0.292867, 0.596361, 0.745642, 1.0, 1.0, 1.0, 3.16667, 1.0, 3.83227, -5.24093, -4.23314, -0.050989, -0.292867, 0.596361, 0.745642, 1.0, 1.0, 1.0, 3.20833, 1.0, 3.92597, -5.25955, -4.2348, -0.050989, -0.292867, 0.596361, 0.745642, 1.0, 1.0, 1.0, 3.25, 1.0, 3.99274, -5.27275, -4.23595, -0.050989, -0.292867, 0.596361, 0.745642, 1.0, 1.0, 1.0, 3.29167, 1.0, 4.03262, -5.2806, -4.23662, -0.050989, -0.292867, 0.596361, 0.745642, 1.0, 1.0, 1.0, 3.33333, 1.0, 4.04583, -5.28319, -4.23684, -0.050989, -0.292867, 0.596361, 0.745642, 1.0, 1.0, 1.0] @@ -67,7 +67,7 @@ mesh = SubResource(2) visible = true transform = Transform(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0971814, 1.97777, 0.785397) -[node name="AnimationPlayer" type="AnimationPlayer" parent="Cube"] +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] root_node = NodePath("..:") anims/CubeAction = SubResource(3) diff --git a/tests/reference_exports/animation_shapekey.escn b/tests/reference_exports/shape_key/animation_shapekey.escn similarity index 100% rename from tests/reference_exports/animation_shapekey.escn rename to tests/reference_exports/shape_key/animation_shapekey.escn diff --git a/tests/reference_exports/just_shapekey.escn b/tests/reference_exports/shape_key/just_shapekey.escn similarity index 100% rename from tests/reference_exports/just_shapekey.escn rename to tests/reference_exports/shape_key/just_shapekey.escn diff --git a/tests/reference_exports/shapekey_with_multi_surface.escn b/tests/reference_exports/shape_key/shapekey_with_multi_surface.escn similarity index 100% rename from tests/reference_exports/shapekey_with_multi_surface.escn rename to tests/reference_exports/shape_key/shapekey_with_multi_surface.escn diff --git a/tests/test_scenes/animation_bone_transform.blend b/tests/test_scenes/action_animation/animation_bone_transform.blend similarity index 100% rename from tests/test_scenes/animation_bone_transform.blend rename to tests/test_scenes/action_animation/animation_bone_transform.blend diff --git a/tests/test_scenes/animation_object_transform.blend b/tests/test_scenes/action_animation/animation_object_transform.blend similarity index 100% rename from tests/test_scenes/animation_object_transform.blend rename to tests/test_scenes/action_animation/animation_object_transform.blend diff --git a/tests/test_scenes/animation_rotation_euler.blend b/tests/test_scenes/action_animation/animation_rotation_euler.blend similarity index 100% rename from tests/test_scenes/animation_rotation_euler.blend rename to tests/test_scenes/action_animation/animation_rotation_euler.blend diff --git a/tests/test_scenes/constraint_external_IK.blend b/tests/test_scenes/action_animation/constraint_external_IK.blend similarity index 100% rename from tests/test_scenes/constraint_external_IK.blend rename to tests/test_scenes/action_animation/constraint_external_IK.blend diff --git a/tests/test_scenes/constraint_internal_IK.blend b/tests/test_scenes/action_animation/constraint_internal_IK.blend similarity index 100% rename from tests/test_scenes/constraint_internal_IK.blend rename to tests/test_scenes/action_animation/constraint_internal_IK.blend diff --git a/tests/test_scenes/armature_bone_attachment.blend b/tests/test_scenes/armature/armature_bone_attachment.blend similarity index 100% rename from tests/test_scenes/armature_bone_attachment.blend rename to tests/test_scenes/armature/armature_bone_attachment.blend diff --git a/tests/test_scenes/armature_with_mesh.blend b/tests/test_scenes/armature/armature_with_mesh.blend similarity index 100% rename from tests/test_scenes/armature_with_mesh.blend rename to tests/test_scenes/armature/armature_with_mesh.blend diff --git a/tests/test_scenes/armature_with_non_deform_bone.blend b/tests/test_scenes/armature/armature_with_non_deform_bone.blend similarity index 100% rename from tests/test_scenes/armature_with_non_deform_bone.blend rename to tests/test_scenes/armature/armature_with_non_deform_bone.blend diff --git a/tests/test_scenes/armature_with_other_vertex_groups.blend b/tests/test_scenes/armature/armature_with_other_vertex_groups.blend similarity index 100% rename from tests/test_scenes/armature_with_other_vertex_groups.blend rename to tests/test_scenes/armature/armature_with_other_vertex_groups.blend diff --git a/tests/test_scenes/armature_with_physics.blend b/tests/test_scenes/armature/armature_with_physics.blend similarity index 100% rename from tests/test_scenes/armature_with_physics.blend rename to tests/test_scenes/armature/armature_with_physics.blend diff --git a/tests/test_scenes/armature_with_pose.blend b/tests/test_scenes/armature/armature_with_pose.blend similarity index 100% rename from tests/test_scenes/armature_with_pose.blend rename to tests/test_scenes/armature/armature_with_pose.blend diff --git a/tests/test_scenes/just_armature.blend b/tests/test_scenes/armature/just_armature.blend similarity index 100% rename from tests/test_scenes/just_armature.blend rename to tests/test_scenes/armature/just_armature.blend diff --git a/tests/test_scenes/animation_camera.blend b/tests/test_scenes/camera/animation_camera.blend similarity index 100% rename from tests/test_scenes/animation_camera.blend rename to tests/test_scenes/camera/animation_camera.blend diff --git a/tests/test_scenes/just_cameras.blend b/tests/test_scenes/camera/just_cameras.blend similarity index 100% rename from tests/test_scenes/just_cameras.blend rename to tests/test_scenes/camera/just_cameras.blend diff --git a/tests/test_scenes/animation_light_type_change.blend b/tests/test_scenes/light/animation_light_type_change.blend similarity index 100% rename from tests/test_scenes/animation_light_type_change.blend rename to tests/test_scenes/light/animation_light_type_change.blend diff --git a/tests/test_scenes/animation_point_light_shadow.blend b/tests/test_scenes/light/animation_point_light_shadow.blend similarity index 100% rename from tests/test_scenes/animation_point_light_shadow.blend rename to tests/test_scenes/light/animation_point_light_shadow.blend diff --git a/tests/test_scenes/animation_spot_light.blend b/tests/test_scenes/light/animation_spot_light.blend similarity index 100% rename from tests/test_scenes/animation_spot_light.blend rename to tests/test_scenes/light/animation_spot_light.blend diff --git a/tests/test_scenes/animation_spot_light_transform.blend b/tests/test_scenes/light/animation_spot_light_transform.blend similarity index 100% rename from tests/test_scenes/animation_spot_light_transform.blend rename to tests/test_scenes/light/animation_spot_light_transform.blend diff --git a/tests/test_scenes/animation_sun.blend b/tests/test_scenes/light/animation_sun.blend similarity index 100% rename from tests/test_scenes/animation_sun.blend rename to tests/test_scenes/light/animation_sun.blend diff --git a/tests/test_scenes/just_point_lights.blend b/tests/test_scenes/light/just_point_lights.blend similarity index 100% rename from tests/test_scenes/just_point_lights.blend rename to tests/test_scenes/light/just_point_lights.blend diff --git a/tests/test_scenes/just_spot_lights.blend b/tests/test_scenes/light/just_spot_lights.blend similarity index 100% rename from tests/test_scenes/just_spot_lights.blend rename to tests/test_scenes/light/just_spot_lights.blend diff --git a/tests/test_scenes/material_search.blend b/tests/test_scenes/material/material_search.blend similarity index 100% rename from tests/test_scenes/material_search.blend rename to tests/test_scenes/material/material_search.blend diff --git a/tests/test_scenes/simple_materials.blend b/tests/test_scenes/material/simple_materials.blend similarity index 100% rename from tests/test_scenes/simple_materials.blend rename to tests/test_scenes/material/simple_materials.blend diff --git a/tests/test_scenes/just_mesh.blend b/tests/test_scenes/mesh/just_mesh.blend similarity index 100% rename from tests/test_scenes/just_mesh.blend rename to tests/test_scenes/mesh/just_mesh.blend diff --git a/tests/test_scenes/parented_meshes.blend b/tests/test_scenes/mesh/parented_meshes.blend similarity index 100% rename from tests/test_scenes/parented_meshes.blend rename to tests/test_scenes/mesh/parented_meshes.blend diff --git a/tests/test_scenes/physics.blend b/tests/test_scenes/mesh/physics.blend similarity index 100% rename from tests/test_scenes/physics.blend rename to tests/test_scenes/mesh/physics.blend diff --git a/tests/test_scenes/tangent_test.blend b/tests/test_scenes/mesh/tangent_test.blend similarity index 100% rename from tests/test_scenes/tangent_test.blend rename to tests/test_scenes/mesh/tangent_test.blend diff --git a/tests/test_scenes/uv_testing.blend b/tests/test_scenes/mesh/uv_testing.blend similarity index 100% rename from tests/test_scenes/uv_testing.blend rename to tests/test_scenes/mesh/uv_testing.blend diff --git a/tests/test_scenes/vertex_color.blend b/tests/test_scenes/mesh/vertex_color.blend similarity index 100% rename from tests/test_scenes/vertex_color.blend rename to tests/test_scenes/mesh/vertex_color.blend diff --git a/tests/test_scenes/animation_parented_objects.blend b/tests/test_scenes/scene_animation/animation_parented_objects.blend similarity index 100% rename from tests/test_scenes/animation_parented_objects.blend rename to tests/test_scenes/scene_animation/animation_parented_objects.blend diff --git a/tests/test_scenes/scene_animation/config.json b/tests/test_scenes/scene_animation/config.json new file mode 100644 index 0000000..6b35949 --- /dev/null +++ b/tests/test_scenes/scene_animation/config.json @@ -0,0 +1,3 @@ +{ + "animation_modes": "SCENE_ANIMATION" +} diff --git a/tests/test_scenes/animation_shapekey.blend b/tests/test_scenes/shape_key/animation_shapekey.blend similarity index 100% rename from tests/test_scenes/animation_shapekey.blend rename to tests/test_scenes/shape_key/animation_shapekey.blend diff --git a/tests/test_scenes/just_shapekey.blend b/tests/test_scenes/shape_key/just_shapekey.blend similarity index 100% rename from tests/test_scenes/just_shapekey.blend rename to tests/test_scenes/shape_key/just_shapekey.blend diff --git a/tests/test_scenes/shapekey_with_multi_surface.blend b/tests/test_scenes/shape_key/shapekey_with_multi_surface.blend similarity index 100% rename from tests/test_scenes/shapekey_with_multi_surface.blend rename to tests/test_scenes/shape_key/shapekey_with_multi_surface.blend