Эх сурвалжийг харах

Merge pull request #112 from Jason0214/add_scene_frame_start

Add scene frame start
Lu Jiacheng 6 жил өмнө
parent
commit
ba02eb0a17
35 өөрчлөгдсөн 148 нэмэгдсэн , 343 устгасан
  1. 79 16
      io_scene_godot/converters/animation/serializer.py
  2. 1 1
      tests/godot_project/default_env.tres
  3. 0 0
      tests/reference_exports/action_animation/animation_bone_transform.escn
  4. 0 0
      tests/reference_exports/action_animation/animation_object_transform.escn
  5. 0 0
      tests/reference_exports/action_animation/animation_rotation_euler.escn
  6. 0 0
      tests/reference_exports/action_animation/animation_shared_action.escn
  7. 0 0
      tests/reference_exports/action_animation/physics_animation.escn
  8. 10 0
      tests/reference_exports/action_with_constraint/bone_attachment_ik.escn
  9. 0 0
      tests/reference_exports/action_with_constraint/constraint_external_IK.escn
  10. 0 0
      tests/reference_exports/action_with_constraint/constraint_internal_IK.escn
  11. 0 0
      tests/reference_exports/action_with_constraint/stashed_constraint.escn
  12. 0 10
      tests/reference_exports/armature/armature_bone_attachment_ik.escn
  13. 0 0
      tests/reference_exports/armature/armature_illegal_bone_name.escn
  14. 0 1
      tests/reference_exports/armature/armature_with_non_deform_bone.escn
  15. 7 7
      tests/reference_exports/camera/animation_camera.escn
  16. 0 69
      tests/reference_exports/light/animation_light_type_change.escn
  17. 0 104
      tests/reference_exports/light/animation_point_light_shadow.escn
  18. 0 90
      tests/reference_exports/light/animation_spot_light.escn
  19. 0 10
      tests/reference_exports/light/animation_spot_light_transform.escn
  20. 22 31
      tests/reference_exports/light/animation_sun.escn
  21. 25 0
      tests/reference_exports/light/animation_various_lights.escn
  22. 0 0
      tests/reference_exports/nla_animation/animation_multi_strip.escn
  23. 0 0
      tests/reference_exports/nla_animation/animation_with_empty_strip.escn
  24. 0 0
      tests/reference_exports/nla_animation/nla_with_active_action.escn
  25. 2 2
      tests/reference_exports/nla_animation/nla_with_no_active_action.escn
  26. 0 0
      tests/reference_exports/nla_animation/nla_with_stashed_action.escn
  27. 0 0
      tests/reference_exports/scene_animation/animation_parented_objects.escn
  28. 1 1
      tests/reference_exports/shape_key/animation_shapekey.escn
  29. 1 1
      tests/reference_exports/shape_key/animation_shapekey_with_transform.escn
  30. 0 0
      tests/test_scenes/action_with_constraint/bone_attachment_ik.blend
  31. BIN
      tests/test_scenes/light/animation_point_light_shadow.blend
  32. BIN
      tests/test_scenes/light/animation_spot_light.blend
  33. BIN
      tests/test_scenes/light/animation_spot_light_transform.blend
  34. BIN
      tests/test_scenes/light/animation_sun.blend
  35. BIN
      tests/test_scenes/light/animation_various_lights.blend

+ 79 - 16
io_scene_godot/converters/animation/serializer.py

@@ -10,6 +10,40 @@ from ...structures import (NodeTemplate, NodePath, Array, Map,
 NEAREST_INTERPOLATION = 0
 LINEAR_INTERPOLATION = 1
 
+UPDATE_CONTINUOUS = 0
+UPDATE_DISCRETE = 1
+UPDATE_TRIGGER = 2
+UPDATE_CAPTURE = 3
+
+
+def strip_adjacent_dup_keyframes(frames, values):
+    """Strip removable keyframes to reduce export size"""
+    stripped_frames = list()
+    stripped_values = list()
+
+    assert len(frames) == len(values)
+    length = len(frames)
+
+    stripped_frames.append(frames[0])
+    stripped_values.append(values[0])
+
+    duplicated = False
+    for index in range(1, length - 1):
+        if not duplicated:
+            stripped_frames.append(frames[index])
+            stripped_values.append(values[index])
+            if values[index] == values[index - 1]:
+                duplicated = True
+        elif values[index] != values[index + 1]:
+            duplicated = False
+            stripped_frames.append(frames[index])
+            stripped_values.append(values[index])
+
+    stripped_frames.append(frames[length - 1])
+    stripped_values.append(values[length - 1])
+
+    return stripped_frames, stripped_values
+
 
 class TransformFrame:
     """A data structure hold transform values of an animation key,
@@ -26,6 +60,16 @@ class TransformFrame:
         self.rotation_euler = mathutils.Euler((0, 0, 0))
         self.rotation_quaternion = mathutils.Quaternion()
 
+    def __eq__(self, other):
+        """Overrides the default implementation"""
+        if isinstance(other, TransformFrame):
+            return (self.location == other.location and
+                    self.scale == other.scale and
+                    self.rotation_mode == other.rotation_mode and
+                    self.rotation_quaternion == other.rotation_quaternion and
+                    self.rotation_euler == other.rotation_euler)
+        return False
+
     @classmethod
     def factory(cls, trans_mat, rotation_mode):
         """Factory function, create cls from a transform matrix"""
@@ -231,25 +275,32 @@ class TransformTrack(Track):
     def convert_to_keys_object(self):
         """Convert a transform track to godot structure"""
         array = Array(prefix='[', suffix=']')
-        last_mat = None
-        for index, frame in enumerate(self.frames):
-            mat = self.parent_trans_inverse * self.values[index].to_matrix()
+
+        time_per_frame = 1 / bpy.context.scene.render.fps
+        scene_frame_start = bpy.context.scene.frame_start
+
+        if self.interp == LINEAR_INTERPOLATION:
+            frames, values = strip_adjacent_dup_keyframes(
+                self.frames, self.values)
+        else:
+            frames = self.frames
+            values = self.values
+
+        for frame, trans_frame in zip(frames, values):
+            if frame < scene_frame_start:
+                continue
+
+            mat = self.parent_trans_inverse * trans_frame.to_matrix()
             if self.is_directional:
                 mat = fix_directional_transform(mat)
             # convert from z-up to y-up
             mat = fix_matrix(mat)
 
-            if last_mat and last_mat == mat:
-                # avoid export duplicate keyframe
-                continue
-
             location = mat.to_translation()
             quaternion = mat.to_quaternion()
             scale = mat.to_scale()
 
-            last_mat = mat
-
-            array.append(frame / bpy.context.scene.render.fps)
+            array.append((frame - scene_frame_start) * time_per_frame)
             # transition default 1.0
             array.append(1.0)
             array.append(location.x)
@@ -282,20 +333,32 @@ class ValueTrack(Track):
         time_array = Array(prefix='PoolRealArray(', suffix=')')
         transition_array = Array(prefix='PoolRealArray(', suffix=')')
         value_array = Array(prefix='[', suffix=']')
-        for index, frame in enumerate(self.frames):
-            if (self.interp == LINEAR_INTERPOLATION and index > 0 and
-                    self.values[index] == self.values[index - 1]):
+
+        time_per_frame = 1 / bpy.context.scene.render.fps
+        scene_frame_start = bpy.context.scene.frame_start
+
+        if self.interp == LINEAR_INTERPOLATION:
+            frames, values = strip_adjacent_dup_keyframes(
+                self.frames, self.values)
+        else:
+            frames = self.frames
+            values = self.values
+
+        for frame, frame_val in zip(frames, values):
+            # move animation first frame to scene.frame_start
+            # and cut off frames exceed scene.frame_end
+            if frame < scene_frame_start:
                 continue
 
-            time = frame / bpy.context.scene.render.fps
+            time = (frame - scene_frame_start) * time_per_frame
             time_array.append(time)
             transition_array.append(1)
-            value_array.append(self.values[index])
+            value_array.append(frame_val)
 
         keys_map = Map()
         keys_map["times"] = time_array.to_string()
         keys_map["transitions"] = transition_array.to_string()
-        keys_map["update"] = 0
+        keys_map["update"] = UPDATE_CONTINUOUS
         keys_map["values"] = value_array.to_string()
 
         return keys_map

+ 1 - 1
tests/godot_project/default_env.tres

@@ -29,7 +29,7 @@ background_color = Color( 0, 0, 0, 1 )
 background_energy = 1.0
 background_canvas_max_layer = 0
 ambient_light_color = Color( 0, 0, 0, 1 )
-ambient_light_energy = 1.0
+ambient_light_energy = 0.2
 ambient_light_sky_contribution = 1.0
 fog_enabled = false
 fog_color = Color( 0.5, 0.6, 0.7, 1 )

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
tests/reference_exports/action_animation/animation_bone_transform.escn


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
tests/reference_exports/action_animation/animation_object_transform.escn


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
tests/reference_exports/action_animation/animation_rotation_euler.escn


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
tests/reference_exports/action_animation/animation_shared_action.escn


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
tests/reference_exports/action_animation/physics_animation.escn


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 10 - 0
tests/reference_exports/action_with_constraint/bone_attachment_ik.escn


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
tests/reference_exports/action_with_constraint/constraint_external_IK.escn


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
tests/reference_exports/action_with_constraint/constraint_internal_IK.escn


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
tests/reference_exports/action_with_constraint/stashed_constraint.escn


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 10
tests/reference_exports/armature/armature_bone_attachment_ik.escn


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
tests/reference_exports/armature/armature_illegal_bone_name.escn


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 1
tests/reference_exports/armature/armature_with_non_deform_bone.escn


+ 7 - 7
tests/reference_exports/camera/animation_camera.escn

@@ -39,7 +39,7 @@ tracks/0/type = "value"
 tracks/0/path = NodePath(".:far")
 tracks/0/interp = 1
 tracks/0/keys = {
-	"times":PoolRealArray(0.541667, 0.583333, 0.625, 0.666667, 0.708333, 0.75, 0.791667, 0.833333),
+	"times":PoolRealArray(0.5, 0.541667, 0.583333, 0.625, 0.666667, 0.708333, 0.75, 0.791667),
 	"transitions":PoolRealArray(1, 1, 1, 1, 1, 1, 1, 1),
 	"update":0,
 	"values":[100.0, 95.9174, 83.8392, 65.4366, 44.5634, 26.1609, 14.0826, 10.0]
@@ -48,7 +48,7 @@ tracks/1/type = "value"
 tracks/1/path = NodePath(".:near")
 tracks/1/interp = 1
 tracks/1/keys = {
-	"times":PoolRealArray(0.0416667, 0.0833333, 0.125, 0.166667, 0.208333, 0.25, 0.291667, 0.333333, 0.375, 0.416667),
+	"times":PoolRealArray(0.0, 0.0416667, 0.0833333, 0.125, 0.166667, 0.208333, 0.25, 0.291667, 0.333333, 0.375),
 	"transitions":PoolRealArray(1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
 	"update":0,
 	"values":[0.1, 1.46695, 5.56822, 12.1535, 20.5309, 29.5691, 37.9465, 44.5318, 48.633, 50.0]
@@ -57,7 +57,7 @@ tracks/2/type = "value"
 tracks/2/path = NodePath(".:size")
 tracks/2/interp = 1
 tracks/2/keys = {
-	"times":PoolRealArray(2.5, 2.54167, 2.58333, 2.625, 2.66667, 2.70833, 2.75, 2.79167, 2.83333, 2.875, 2.91667),
+	"times":PoolRealArray(2.45833, 2.5, 2.54167, 2.58333, 2.625, 2.66667, 2.70833, 2.75, 2.79167, 2.83333, 2.875),
 	"transitions":PoolRealArray(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
 	"update":0,
 	"values":[7.31429, 7.1743, 6.75302, 6.06803, 5.17209, 4.15714, 3.14219, 2.24626, 1.56127, 1.13998, 1.0]
@@ -66,7 +66,7 @@ tracks/3/type = "value"
 tracks/3/path = NodePath(".:projection")
 tracks/3/interp = 0
 tracks/3/keys = {
-	"times":PoolRealArray(0.0416667, 2.5),
+	"times":PoolRealArray(0.0, 2.45833),
 	"transitions":PoolRealArray(1, 1),
 	"update":0,
 	"values":[0, 1]
@@ -75,10 +75,10 @@ tracks/4/type = "value"
 tracks/4/path = NodePath(".:fov")
 tracks/4/interp = 1
 tracks/4/keys = {
-	"times":PoolRealArray(0.0416667, 1.29167, 1.33333, 1.375, 1.41667, 1.45833, 1.5, 1.54167, 1.58333, 1.625, 1.66667, 1.70833, 1.75, 1.79167, 1.83333, 1.875, 1.91667, 1.95833, 2.0, 2.04167, 2.08333, 2.125, 2.16667, 2.20833, 2.25, 2.29167, 2.33333, 2.375, 2.41667, 2.45833, 2.5, 2.54167, 2.58333, 2.625, 2.66667, 2.70833, 2.75, 2.79167, 2.83333, 2.875, 2.91667),
-	"transitions":PoolRealArray(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
+	"times":PoolRealArray(0.0, 0.0416667, 1.20833, 1.25, 1.29167, 1.33333, 1.375, 1.41667, 1.45833, 1.5, 1.54167, 1.58333, 1.625, 1.66667, 1.70833, 1.75, 1.79167, 1.83333, 1.875, 1.91667, 1.95833, 2.0, 2.04167, 2.08333, 2.125, 2.16667, 2.20833, 2.25, 2.29167, 2.33333, 2.375, 2.41667, 2.45833, 2.5, 2.54167, 2.58333, 2.625, 2.66667, 2.70833, 2.75, 2.79167, 2.83333, 2.875),
+	"transitions":PoolRealArray(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
 	"update":0,
-	"values":[49.1343, 48.7259, 47.5342, 45.7099, 43.5151, 41.2598, 39.2179, 37.5705, 36.3983, 35.7119, 35.4893, 35.5137, 35.5876, 35.7119, 35.8878, 36.1163, 36.3983, 36.7346, 37.1254, 37.5705, 38.0689, 38.619, 39.2179, 39.8614, 40.5443, 41.2598, 41.9998, 42.7551, 43.5151, 44.2688, 45.0043, 45.7099, 46.3738, 46.9853, 47.5342, 48.0119, 48.411, 48.7259, 48.9526, 49.089, 49.1343]
+	"values":[49.1343, 49.1343, 49.1343, 48.7259, 47.5342, 45.7099, 43.5151, 41.2598, 39.2179, 37.5705, 36.3983, 35.7119, 35.4893, 35.5137, 35.5876, 35.7119, 35.8878, 36.1163, 36.3983, 36.7346, 37.1254, 37.5705, 38.0689, 38.619, 39.2179, 39.8614, 40.5443, 41.2598, 41.9998, 42.7551, 43.5151, 44.2688, 45.0043, 45.7099, 46.3738, 46.9853, 47.5342, 48.0119, 48.411, 48.7259, 48.9526, 49.089, 49.1343]
 }
 [node type="Spatial" name="Scene"]
 

+ 0 - 69
tests/reference_exports/light/animation_light_type_change.escn

@@ -1,69 +0,0 @@
-[gd_scene load_steps=1 format=2]
-
-[sub_resource id=1 type="SpatialMaterial"]
-
-resource_name = "Material"
-flags_unshaded = false
-flags_vertex_lighting = false
-flags_transparent = false
-vertex_color_use_as_albedo = false
-albedo_color = Color(0.8, 0.8, 0.8, 1.0)
-subsurf_scatter_enabled = false
-
-[sub_resource id=2 type="ArrayMesh"]
-
-resource_name = "Cube"
-surfaces/0 = {
-	"material":SubResource(1),
-	"primitive":4,
-	"arrays":[
-		Vector3Array(1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 0.999999, 1.0, 1.0, 1.0, 1.0, -0.999999, 1.0, 1.0, -0.999999, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 0.999999, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -0.999999, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 0.999999, 1.0, 1.0, 1.0, 1.0, -0.999999, 0.999999, 1.0, 1.0, 1.0, -1.0, 1.0, 0.999999, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0),
-		Vector3Array(2.98023e-08, -1.0, 0.0, 2.98023e-08, -1.0, 0.0, 2.98023e-08, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, -2.38419e-07, 0.0, 1.0, -2.38419e-07, 0.0, 1.0, -2.38419e-07, 0.0, -8.9407e-08, -4.76837e-07, 1.0, -8.9407e-08, -4.76837e-07, 1.0, -8.9407e-08, -4.76837e-07, 1.0, -1.0, -1.19209e-07, -2.38419e-07, -1.0, -1.19209e-07, -2.38419e-07, -1.0, -1.19209e-07, -2.38419e-07, 2.68221e-07, 2.38419e-07, -1.0, 2.68221e-07, 2.38419e-07, -1.0, 2.68221e-07, 2.38419e-07, -1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 5.96047e-08, 1.0, 0.0, 5.96047e-08, 1.0, 0.0, 5.96047e-08, 1.0, 0.0, 1.0, 3.27825e-07, 5.96046e-07, 1.0, 3.27825e-07, 5.96046e-07, 1.0, 3.27825e-07, 5.96046e-07, -4.76837e-07, 1.19209e-07, 1.0, -4.76837e-07, 1.19209e-07, 1.0, -4.76837e-07, 1.19209e-07, 1.0, -1.0, -1.49012e-07, -2.38419e-07, -1.0, -1.49012e-07, -2.38419e-07, -1.0, -1.49012e-07, -2.38419e-07, 2.08616e-07, 8.9407e-08, -1.0, 2.08616e-07, 8.9407e-08, -1.0, 2.08616e-07, 8.9407e-08, -1.0),
-		null, ; No Tangents,
-		null, ; no Vertex Colors,
-		null, ; No UV1,
-		null, ; No UV2,
-		null, ; No Bones,
-		null, ; No Weights,
-		IntArray(0, 2, 1, 3, 5, 4, 6, 8, 7, 9, 11, 10, 12, 14, 13, 15, 17, 16, 18, 20, 19, 21, 23, 22, 24, 26, 25, 27, 29, 28, 30, 32, 31, 33, 35, 34)
-	],
-	"morph_arrays":[]
-}
-
-[sub_resource id=3 type="Animation"]
-
-resource_name = "LampAction"
-step = 0.1
-length = 2.91667
-tracks/0/type = "value"
-tracks/0/path = NodePath(".:light_color")
-tracks/0/interp = 1
-tracks/0/keys = {
-	"times":PoolRealArray(0.0833333, 0.458333, 0.5, 0.541667, 0.583333, 0.625, 0.666667, 0.708333, 0.75, 0.791667, 0.833333),
-	"transitions":PoolRealArray(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
-	"update":0,
-	"values":[Color(1.0, 1.0, 1.0, 1.0), Color(0.978978, 1.0, 0.978395, 1.0), Color(0.91571, 1.0, 0.913372, 1.0), Color(0.81284, 1.0, 0.807649, 1.0), Color(0.67829, 1.0, 0.669369, 1.0), Color(0.525868, 1.0, 0.512719, 1.0), Color(0.373445, 1.0, 0.35607, 1.0), Color(0.238896, 1.0, 0.217789, 1.0), Color(0.136026, 1.0, 0.112066, 1.0), Color(0.072758, 1.0, 0.0470439, 1.0), Color(0.0517359, 1.0, 0.0254388, 1.0)]
-}
-[node type="Spatial" name="Scene"]
-
-
-[node name="Cube" type="MeshInstance" parent="."]
-
-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.0, 0.0, 0.0)
-
-[node name="Lamp" type="DirectionalLight" parent="."]
-
-light_specular = 1.0
-light_energy = 1.0
-light_color = Color(1.0, 1.0, 1.0, 1.0)
-shadow_color = Color(0.0, 0.0, 0.0, 1.0)
-transform = Transform(-0.290865, -0.771101, 0.566393, -0.0551891, 0.604525, 0.794672, -0.955171, 0.199883, -0.218391, 4.07625, 5.90386, -1.00545)
-shadow_enabled = true
-light_negative = false
-
-[node name="AnimationPlayer" type="AnimationPlayer" parent="Lamp"]
-
-root_node = NodePath("..:")
-anims/LampAction = SubResource(3)

+ 0 - 104
tests/reference_exports/light/animation_point_light_shadow.escn

@@ -1,104 +0,0 @@
-[gd_scene load_steps=1 format=2]
-
-[sub_resource id=1 type="ArrayMesh"]
-
-resource_name = "Cube001"
-surfaces/0 = {
-	"primitive":4,
-	"arrays":[
-		Vector3Array(-1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0),
-		Vector3Array(-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0),
-		null, ; No Tangents,
-		null, ; no Vertex Colors,
-		null, ; No UV1,
-		null, ; No UV2,
-		null, ; No Bones,
-		null, ; No Weights,
-		IntArray(0, 2, 1, 3, 5, 4, 6, 8, 7, 9, 11, 10, 12, 14, 13, 15, 17, 16, 0, 1, 18, 3, 4, 19, 6, 7, 20, 9, 10, 21, 12, 13, 22, 15, 16, 23)
-	],
-	"morph_arrays":[]
-}
-
-[sub_resource id=2 type="SpatialMaterial"]
-
-resource_name = "Material"
-flags_unshaded = false
-flags_vertex_lighting = false
-flags_transparent = false
-vertex_color_use_as_albedo = false
-albedo_color = Color(0.8, 0.8, 0.8, 1.0)
-subsurf_scatter_enabled = false
-
-[sub_resource id=3 type="ArrayMesh"]
-
-resource_name = "Cube"
-surfaces/0 = {
-	"material":SubResource(2),
-	"primitive":4,
-	"arrays":[
-		Vector3Array(1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 0.999999, 1.0, 1.0, 1.0, 1.0, -0.999999, 1.0, 1.0, -0.999999, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 0.999999, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -0.999999, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 0.999999, 1.0, 1.0, 1.0, 1.0, -0.999999, 0.999999, 1.0, 1.0, 1.0, -1.0, 1.0, 0.999999, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0),
-		Vector3Array(2.98023e-08, -1.0, 0.0, 2.98023e-08, -1.0, 0.0, 2.98023e-08, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, -2.38419e-07, 0.0, 1.0, -2.38419e-07, 0.0, 1.0, -2.38419e-07, 0.0, -8.9407e-08, -4.76837e-07, 1.0, -8.9407e-08, -4.76837e-07, 1.0, -8.9407e-08, -4.76837e-07, 1.0, -1.0, -1.19209e-07, -2.38419e-07, -1.0, -1.19209e-07, -2.38419e-07, -1.0, -1.19209e-07, -2.38419e-07, 2.68221e-07, 2.38419e-07, -1.0, 2.68221e-07, 2.38419e-07, -1.0, 2.68221e-07, 2.38419e-07, -1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 5.96047e-08, 1.0, 0.0, 5.96047e-08, 1.0, 0.0, 5.96047e-08, 1.0, 0.0, 1.0, 3.27825e-07, 5.96046e-07, 1.0, 3.27825e-07, 5.96046e-07, 1.0, 3.27825e-07, 5.96046e-07, -4.76837e-07, 1.19209e-07, 1.0, -4.76837e-07, 1.19209e-07, 1.0, -4.76837e-07, 1.19209e-07, 1.0, -1.0, -1.49012e-07, -2.38419e-07, -1.0, -1.49012e-07, -2.38419e-07, -1.0, -1.49012e-07, -2.38419e-07, 2.08616e-07, 8.9407e-08, -1.0, 2.08616e-07, 8.9407e-08, -1.0, 2.08616e-07, 8.9407e-08, -1.0),
-		null, ; No Tangents,
-		null, ; no Vertex Colors,
-		null, ; No UV1,
-		null, ; No UV2,
-		null, ; No Bones,
-		null, ; No Weights,
-		IntArray(0, 2, 1, 3, 5, 4, 6, 8, 7, 9, 11, 10, 12, 14, 13, 15, 17, 16, 18, 20, 19, 21, 23, 22, 24, 26, 25, 27, 29, 28, 30, 32, 31, 33, 35, 34)
-	],
-	"morph_arrays":[]
-}
-
-[sub_resource id=4 type="Animation"]
-
-resource_name = "LampAction"
-step = 0.1
-length = 1.25
-tracks/0/type = "value"
-tracks/0/path = NodePath(".:shadow_enabled")
-tracks/0/interp = 0
-tracks/0/keys = {
-	"times":PoolRealArray(0.0416667, 0.833333, 1.25),
-	"transitions":PoolRealArray(1, 1, 1),
-	"update":0,
-	"values":[true, false, false]
-}
-tracks/1/type = "value"
-tracks/1/path = NodePath(".:shadow_color")
-tracks/1/interp = 1
-tracks/1/keys = {
-	"times":PoolRealArray(0.0416667, 0.0833333, 0.125, 0.166667, 0.208333, 0.25, 0.291667, 0.333333, 0.375, 0.416667),
-	"transitions":PoolRealArray(1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
-	"update":0,
-	"values":[Color(0.0, 0.0, 0.0, 1.0), Color(0.00076126, 0.00840977, 0.000572418, 1.0), Color(0.00304528, 0.0336417, 0.00228985, 1.0), Color(0.00671266, 0.0741558, 0.00504748, 1.0), Color(0.0113781, 0.125695, 0.00855556, 1.0), Color(0.0164115, 0.181301, 0.0123404, 1.0), Color(0.0210769, 0.23284, 0.0158485, 1.0), Color(0.0247443, 0.273354, 0.0186061, 1.0), Color(0.0270283, 0.298586, 0.0203235, 1.0), Color(0.0277896, 0.306996, 0.020896, 1.0)]
-}
-[node type="Spatial" name="Scene"]
-
-
-[node name="Cube001" type="MeshInstance" parent="."]
-
-mesh = SubResource(1)
-visible = true
-transform = Transform(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, -1.16055, -1.22778, 0.861728)
-
-[node name="Cube" type="MeshInstance" parent="."]
-
-mesh = SubResource(3)
-visible = true
-transform = Transform(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0)
-
-[node name="Lamp" type="OmniLight" parent="."]
-
-light_specular = 1.0
-light_energy = 1.0
-light_color = Color(1.0, 1.0, 1.0, 1.0)
-shadow_color = Color(0.0, 0.0, 0.0, 1.0)
-omni_range = 30.0
-transform = Transform(-0.290865, -0.771101, 0.566393, -0.0551891, 0.604525, 0.794672, -0.955171, 0.199883, -0.218391, 2.86902, 6.70935, -2.25395)
-shadow_enabled = true
-light_negative = false
-
-[node name="AnimationPlayer" type="AnimationPlayer" parent="Lamp"]
-
-root_node = NodePath("..:")
-anims/LampAction = SubResource(4)

+ 0 - 90
tests/reference_exports/light/animation_spot_light.escn

@@ -1,90 +0,0 @@
-[gd_scene load_steps=1 format=2]
-
-[sub_resource id=1 type="SpatialMaterial"]
-
-resource_name = "Material"
-flags_unshaded = false
-flags_vertex_lighting = false
-flags_transparent = false
-vertex_color_use_as_albedo = false
-albedo_color = Color(0.8, 0.8, 0.8, 1.0)
-subsurf_scatter_enabled = false
-
-[sub_resource id=2 type="ArrayMesh"]
-
-resource_name = "Cube"
-surfaces/0 = {
-	"material":SubResource(1),
-	"primitive":4,
-	"arrays":[
-		Vector3Array(1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 0.999999, 1.0, 1.0, 1.0, 1.0, -0.999999, 1.0, 1.0, -0.999999, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 0.999999, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -0.999999, 1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 0.999999, 1.0, 1.0, 1.0, 1.0, -0.999999, 0.999999, 1.0, 1.0, 1.0, -1.0, 1.0, 0.999999, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0),
-		Vector3Array(2.98023e-08, -1.0, 0.0, 2.98023e-08, -1.0, 0.0, 2.98023e-08, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, -2.38419e-07, 0.0, 1.0, -2.38419e-07, 0.0, 1.0, -2.38419e-07, 0.0, -8.9407e-08, -4.76837e-07, 1.0, -8.9407e-08, -4.76837e-07, 1.0, -8.9407e-08, -4.76837e-07, 1.0, -1.0, -1.19209e-07, -2.38419e-07, -1.0, -1.19209e-07, -2.38419e-07, -1.0, -1.19209e-07, -2.38419e-07, 2.68221e-07, 2.38419e-07, -1.0, 2.68221e-07, 2.38419e-07, -1.0, 2.68221e-07, 2.38419e-07, -1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 5.96047e-08, 1.0, 0.0, 5.96047e-08, 1.0, 0.0, 5.96047e-08, 1.0, 0.0, 1.0, 3.27825e-07, 5.96046e-07, 1.0, 3.27825e-07, 5.96046e-07, 1.0, 3.27825e-07, 5.96046e-07, -4.76837e-07, 1.19209e-07, 1.0, -4.76837e-07, 1.19209e-07, 1.0, -4.76837e-07, 1.19209e-07, 1.0, -1.0, -1.49012e-07, -2.38419e-07, -1.0, -1.49012e-07, -2.38419e-07, -1.0, -1.49012e-07, -2.38419e-07, 2.08616e-07, 8.9407e-08, -1.0, 2.08616e-07, 8.9407e-08, -1.0, 2.08616e-07, 8.9407e-08, -1.0),
-		null, ; No Tangents,
-		null, ; no Vertex Colors,
-		null, ; No UV1,
-		null, ; No UV2,
-		null, ; No Bones,
-		null, ; No Weights,
-		IntArray(0, 2, 1, 3, 5, 4, 6, 8, 7, 9, 11, 10, 12, 14, 13, 15, 17, 16, 18, 20, 19, 21, 23, 22, 24, 26, 25, 27, 29, 28, 30, 32, 31, 33, 35, 34)
-	],
-	"morph_arrays":[]
-}
-
-[sub_resource id=3 type="Animation"]
-
-resource_name = "LampAction"
-step = 0.1
-length = 2.5
-tracks/0/type = "value"
-tracks/0/path = NodePath(".:spot_angle")
-tracks/0/interp = 1
-tracks/0/keys = {
-	"times":PoolRealArray(1.25, 1.29167, 1.33333, 1.375, 1.41667, 1.45833, 1.5, 1.54167, 1.58333, 1.625, 1.66667),
-	"transitions":PoolRealArray(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
-	"update":0,
-	"values":[7.5, 7.66627, 8.16667, 8.98029, 10.0445, 11.25, 12.4555, 13.5197, 14.3333, 14.8337, 15.0]
-}
-tracks/1/type = "value"
-tracks/1/path = NodePath(".:spot_angle_attenuation")
-tracks/1/interp = 1
-tracks/1/keys = {
-	"times":PoolRealArray(2.08333, 2.125, 2.16667, 2.20833, 2.25, 2.29167, 2.33333, 2.375, 2.41667, 2.45833, 2.5),
-	"transitions":PoolRealArray(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
-	"update":0,
-	"values":[1.25, 1.22455, 1.15385, 1.05482, 0.948365, 0.851064, 0.771871, 0.713281, 0.674157, 0.652157, 0.645161]
-}
-tracks/2/type = "value"
-tracks/2/path = NodePath(".:spot_range")
-tracks/2/interp = 1
-tracks/2/keys = {
-	"times":PoolRealArray(0.0416667, 0.0833333, 0.125, 0.166667, 0.208333, 0.25, 0.291667, 0.333333, 0.375, 0.416667, 0.458333, 0.5, 0.541667, 0.583333, 0.625, 0.666667, 0.708333, 0.75, 0.791667, 0.833333),
-	"transitions":PoolRealArray(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
-	"update":0,
-	"values":[30.0, 29.9084, 29.6314, 29.1684, 28.5235, 27.7059, 26.7321, 25.6258, 24.4181, 23.1466, 21.8534, 20.5819, 19.3742, 18.2679, 17.2941, 16.4765, 15.8315, 15.3686, 15.0916, 15.0]
-}
-[node type="Spatial" name="Scene"]
-
-
-[node name="Cube" type="MeshInstance" parent="."]
-
-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.0, 0.0, 0.0)
-
-[node name="Lamp" type="SpotLight" parent="."]
-
-light_specular = 1.0
-light_energy = 1.0
-light_color = Color(1.0, 1.0, 1.0, 1.0)
-shadow_color = Color(0.0, 0.0, 0.0, 1.0)
-spot_angle = 7.5
-spot_angle_attenuation = 1.25
-spot_range = 30.0
-transform = Transform(-0.290865, -0.771101, 0.566393, -0.0551891, 0.604525, 0.794672, -0.955171, 0.199883, -0.218391, 3.97706, 6.35177, -1.33297)
-shadow_enabled = true
-light_negative = false
-
-[node name="AnimationPlayer" type="AnimationPlayer" parent="Lamp"]
-
-root_node = NodePath("..:")
-anims/LampAction = SubResource(3)

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 10
tests/reference_exports/light/animation_spot_light_transform.escn


+ 22 - 31
tests/reference_exports/light/animation_sun.escn

@@ -2,84 +2,75 @@
 
 [sub_resource id=1 type="ArrayMesh"]
 
-resource_name = "Cube"
+resource_name = "Plane"
 surfaces/0 = {
 	"primitive":4,
 	"arrays":[
-		Vector3Array(-1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0),
-		Vector3Array(-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0),
+		Vector3Array(1.0, 0.0, 1.0, -1.0, 0.0, -1.0, -1.0, 0.0, 1.0, 1.0, 0.0, -1.0),
+		Vector3Array(0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0),
 		null, ; No Tangents,
 		null, ; no Vertex Colors,
 		null, ; No UV1,
 		null, ; No UV2,
 		null, ; No Bones,
 		null, ; No Weights,
-		IntArray(0, 2, 1, 3, 5, 4, 6, 8, 7, 9, 11, 10, 12, 14, 13, 15, 17, 16, 0, 1, 18, 3, 4, 19, 6, 7, 20, 9, 10, 21, 12, 13, 22, 15, 16, 23)
+		IntArray(0, 2, 1, 0, 1, 3)
 	],
 	"morph_arrays":[]
 }
 
 [sub_resource id=2 type="Animation"]
 
-resource_name = "SunAction"
+resource_name = "SunAction001"
 step = 0.1
-length = 3.33333
+length = 4.58333
 tracks/0/type = "value"
 tracks/0/path = NodePath(".:light_negative")
 tracks/0/interp = 0
 tracks/0/keys = {
-	"times":PoolRealArray(2.5, 2.91667, 3.33333),
+	"times":PoolRealArray(3.75, 4.16667, 4.58333),
 	"transitions":PoolRealArray(1, 1, 1),
 	"update":0,
-	"values":[false, true, true]
+	"values":[false, true, false]
 }
 tracks/1/type = "value"
 tracks/1/path = NodePath(".:light_specular")
 tracks/1/interp = 0
 tracks/1/keys = {
-	"times":PoolRealArray(1.66667, 2.08333),
-	"transitions":PoolRealArray(1, 1),
+	"times":PoolRealArray(2.08333, 2.5, 2.91667),
+	"transitions":PoolRealArray(1, 1, 1),
 	"update":0,
-	"values":[1.0, 0.0]
+	"values":[1.0, 0.0, 1.0]
 }
 tracks/2/type = "value"
 tracks/2/path = NodePath(".:light_energy")
 tracks/2/interp = 1
 tracks/2/keys = {
-	"times":PoolRealArray(0.833333, 0.875, 0.916667, 0.958333, 1.0, 1.04167, 1.08333, 1.125, 1.16667, 1.20833, 1.25),
-	"transitions":PoolRealArray(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
-	"update":0,
-	"values":[1.0, 1.08868, 1.35556, 1.78949, 2.35705, 3.0, 3.64295, 4.21051, 4.64444, 4.91132, 5.0]
-}
-tracks/3/type = "value"
-tracks/3/path = NodePath(".:light_color")
-tracks/3/interp = 1
-tracks/3/keys = {
-	"times":PoolRealArray(0.0416667, 0.0833333, 0.125, 0.166667, 0.208333, 0.25, 0.291667, 0.333333, 0.375, 0.416667),
-	"transitions":PoolRealArray(1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
+	"times":PoolRealArray(0.0, 0.0416667, 0.0833333, 0.125, 0.166667, 0.208333, 0.25, 0.291667, 0.333333, 0.375, 0.416667, 0.458333, 0.5, 0.541667, 0.583333, 0.625, 0.666667, 0.708333, 0.75, 0.791667, 0.833333, 0.875, 0.916667, 0.958333, 1.0, 1.04167, 1.08333, 1.125, 1.16667, 1.20833, 1.25),
+	"transitions":PoolRealArray(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
 	"update":0,
-	"values":[Color(1.0, 1.0, 1.0, 1.0), Color(0.972876, 1.0, 0.972839, 1.0), Color(0.891497, 1.0, 0.891346, 1.0), Color(0.760829, 1.0, 0.760495, 1.0), Color(0.594602, 1.0, 0.594036, 1.0), Color(0.415261, 1.0, 0.414444, 1.0), Color(0.249034, 1.0, 0.247984, 1.0), Color(0.118366, 1.0, 0.117134, 1.0), Color(0.0369866, 1.0, 0.0356407, 1.0), Color(0.00986297, 1.0, 0.00847925, 1.0)]
+	"values":[1.0, 0.992688, 0.970082, 0.931923, 0.879461, 0.815882, 0.746055, 0.675477, 0.608971, 0.549881, 0.5, 0.452336, 0.399918, 0.34426, 0.287871, 0.234118, 0.186613, 0.14834, 0.121029, 0.105095, 0.1, 0.115518, 0.162222, 0.23816, 0.337483, 0.45, 0.562517, 0.66184, 0.737778, 0.784482, 0.8]
 }
 [node type="Spatial" name="Scene"]
 
 
-[node name="Cube" type="MeshInstance" parent="."]
+[node name="Plane" type="MeshInstance" parent="."]
 
 mesh = SubResource(1)
 visible = true
-transform = Transform(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0)
+transform = Transform(7.26935, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 7.57504, 0.109473, -0.019127, -0.081799)
 
 [node name="Sun" type="DirectionalLight" parent="."]
 
-light_specular = 0.0
-light_energy = 5.0
-light_color = Color(0.00986297, 1.0, 0.00847925, 1.0)
+light_specular = 1.0
+light_energy = 1.0
+light_color = Color(1.0, 1.0, 1.0, 1.0)
 shadow_color = Color(0.0, 0.0, 0.0, 1.0)
-transform = Transform(1.0, 0.0, 0.0, 0.0, -4.37114e-08, 1.0, 0.0, -1.0, -4.37114e-08, 0.0, 11.4136, 0.0)
+transform = Transform(0.883713, -0.407974, 0.229367, -0.443707, -0.574356, 0.687924, -0.148916, -0.709699, -0.688587, 0.0, 5.2651, -7.49279)
 shadow_enabled = false
-light_negative = true
+light_negative = false
 
 [node name="AnimationPlayer" type="AnimationPlayer" parent="Sun"]
 
 root_node = NodePath("..:")
-anims/SunAction = SubResource(2)
+anims/SunAction.001 = SubResource(2)

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 25 - 0
tests/reference_exports/light/animation_various_lights.escn


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
tests/reference_exports/nla_animation/animation_multi_strip.escn


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
tests/reference_exports/nla_animation/animation_with_empty_strip.escn


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
tests/reference_exports/nla_animation/nla_with_active_action.escn


+ 2 - 2
tests/reference_exports/nla_animation/nla_with_no_active_action.escn

@@ -51,7 +51,7 @@ tracks/0/type = "value"
 tracks/0/path = NodePath(".:blend_shapes/Key 1")
 tracks/0/interp = 1
 tracks/0/keys = {
-	"times":PoolRealArray(0.0833333, 0.125, 0.166667, 0.208333, 0.25, 0.291667, 0.333333, 0.375, 0.416667, 0.458333, 0.5, 0.541667, 0.583333, 0.625, 0.666667, 0.708333, 0.75, 0.791667, 0.833333, 0.875, 0.916667, 0.958333, 1.0, 1.04167, 1.08333, 1.125, 1.16667, 1.20833, 1.25, 1.29167, 1.33333, 1.375, 1.41667, 1.45833, 1.5, 1.54167, 1.58333, 1.625, 1.66667, 1.70833, 1.75, 1.79167, 1.83333, 1.875, 1.91667, 1.95833, 2.0, 2.04167, 2.08333),
+	"times":PoolRealArray(0.0416667, 0.0833333, 0.125, 0.166667, 0.208333, 0.25, 0.291667, 0.333333, 0.375, 0.416667, 0.458333, 0.5, 0.541667, 0.583333, 0.625, 0.666667, 0.708333, 0.75, 0.791667, 0.833333, 0.875, 0.916667, 0.958333, 1.0, 1.04167, 1.08333, 1.125, 1.16667, 1.20833, 1.25, 1.29167, 1.33333, 1.375, 1.41667, 1.45833, 1.5, 1.54167, 1.58333, 1.625, 1.66667, 1.70833, 1.75, 1.79167, 1.83333, 1.875, 1.91667, 1.95833, 2.0, 2.04167),
 	"transitions":PoolRealArray(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
 	"update":0,
 	"values":[0.0, 0.000934008, 0.00489632, 0.0140215, 0.030586, 0.0561825, 0.0910333, 0.134082, 0.183673, 0.246857, 0.331224, 0.434035, 0.549436, 0.6684, 0.780103, 0.874452, 0.944319, 0.986287, 1.0, 0.989896, 0.959486, 0.910042, 0.845371, 0.772109, 0.698847, 0.634176, 0.584732, 0.554322, 0.544218, 0.546027, 0.551474, 0.56033, 0.571913, 0.585034, 0.598155, 0.609738, 0.618594, 0.624041, 0.62585, 0.611976, 0.570219, 0.502325, 0.413523, 0.312925, 0.212327, 0.123525, 0.0556312, 0.0138745, 0.0]
@@ -60,7 +60,7 @@ tracks/1/type = "value"
 tracks/1/path = NodePath(".:blend_shapes/Key 2")
 tracks/1/interp = 1
 tracks/1/keys = {
-	"times":PoolRealArray(0.416667, 0.458333, 0.5, 0.541667, 0.583333, 0.625, 0.666667, 0.708333, 0.75, 0.791667, 0.833333, 0.875),
+	"times":PoolRealArray(0.375, 0.416667, 0.458333, 0.5, 0.541667, 0.583333, 0.625, 0.666667, 0.708333, 0.75, 0.791667, 0.833333),
 	"transitions":PoolRealArray(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
 	"update":0,
 	"values":[0.0, 0.119438, 0.353741, 0.611825, 0.891865, 1.0, 0.935595, 0.756443, 0.564626, 0.341587, 0.095626, 0.0]

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
tests/reference_exports/nla_animation/nla_with_stashed_action.escn


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
tests/reference_exports/scene_animation/animation_parented_objects.escn


+ 1 - 1
tests/reference_exports/shape_key/animation_shapekey.escn

@@ -40,7 +40,7 @@ tracks/0/type = "value"
 tracks/0/path = NodePath(".:blend_shapes/Key 1")
 tracks/0/interp = 1
 tracks/0/keys = {
-	"times":PoolRealArray(0.0416667, 0.0833333, 0.125, 0.166667, 0.208333, 0.25, 0.291667, 0.333333, 0.375, 0.416667, 0.458333, 0.5, 0.541667, 0.583333, 0.625, 0.666667, 0.708333, 0.75, 0.791667, 0.833333, 0.875, 0.916667, 0.958333, 1.0, 1.04167, 1.08333, 1.125, 1.16667, 1.20833, 1.25, 1.29167, 1.33333, 1.375, 1.41667, 1.45833, 1.5, 1.54167, 1.58333, 1.625, 1.66667, 1.70833, 1.75, 1.79167, 1.83333, 1.875, 1.91667, 1.95833, 2.0, 2.04167, 2.08333, 2.125, 2.16667, 2.20833, 2.25, 2.29167, 2.33333, 2.375, 2.41667, 2.45833, 2.5),
+	"times":PoolRealArray(0.0, 0.0416667, 0.0833333, 0.125, 0.166667, 0.208333, 0.25, 0.291667, 0.333333, 0.375, 0.416667, 0.458333, 0.5, 0.541667, 0.583333, 0.625, 0.666667, 0.708333, 0.75, 0.791667, 0.833333, 0.875, 0.916667, 0.958333, 1.0, 1.04167, 1.08333, 1.125, 1.16667, 1.20833, 1.25, 1.29167, 1.33333, 1.375, 1.41667, 1.45833, 1.5, 1.54167, 1.58333, 1.625, 1.66667, 1.70833, 1.75, 1.79167, 1.83333, 1.875, 1.91667, 1.95833, 2.0, 2.04167, 2.08333, 2.125, 2.16667, 2.20833, 2.25, 2.29167, 2.33333, 2.375, 2.41667, 2.45833),
 	"transitions":PoolRealArray(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
 	"update":0,
 	"values":[0.0, 0.00261531, 0.0105104, 0.0237313, 0.0422801, 0.0661052, 0.095091, 0.129048, 0.167705, 0.2107, 0.257579, 0.307793, 0.360707, 0.415611, 0.471734, 0.528267, 0.584389, 0.639293, 0.692207, 0.742421, 0.7893, 0.832295, 0.870952, 0.904909, 0.933895, 0.95772, 0.976269, 0.98949, 0.997385, 1.0, 0.997557, 0.990181, 0.977831, 0.9605, 0.938228, 0.911111, 0.879307, 0.843044, 0.802629, 0.758447, 0.710968, 0.660738, 0.608376, 0.554558, 0.5, 0.445442, 0.391624, 0.339262, 0.289032, 0.241553, 0.197372, 0.156956, 0.120693, 0.088889, 0.0617719, 0.0395004, 0.0221692, 0.00981867, 0.00244331, 0.0]

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 1 - 1
tests/reference_exports/shape_key/animation_shapekey_with_transform.escn


+ 0 - 0
tests/test_scenes/armature/armature_bone_attachment_ik.blend → tests/test_scenes/action_with_constraint/bone_attachment_ik.blend


BIN
tests/test_scenes/light/animation_point_light_shadow.blend


BIN
tests/test_scenes/light/animation_spot_light.blend


BIN
tests/test_scenes/light/animation_spot_light_transform.blend


BIN
tests/test_scenes/light/animation_sun.blend


BIN
tests/test_scenes/light/animation_light_type_change.blend → tests/test_scenes/light/animation_various_lights.blend


Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно