ソースを参照

[unity] Fixed scene preview conflict between Timeline and SkeletonAnimation animation. Closes #2307.

Harald Csaszar 2 年 前
コミット
2d9bdb0ec3

+ 4 - 0
spine-unity/Assets/Spine/Runtime/spine-unity/Components/SkeletonAnimation.cs

@@ -253,6 +253,10 @@ namespace Spine.Unity {
 			else
 				state.ApplyEventTimelinesOnly(skeleton, issueEvents: true);
 
+			AfterAnimationApplied();
+		}
+
+		public void AfterAnimationApplied () {
 			if (_UpdateLocal != null)
 				_UpdateLocal(this);
 

+ 4 - 0
spine-unity/Assets/Spine/Runtime/spine-unity/Components/SkeletonGraphic.cs

@@ -387,6 +387,10 @@ namespace Spine.Unity {
 			else
 				state.ApplyEventTimelinesOnly(skeleton, issueEvents: true);
 
+			AfterAnimationApplied();
+		}
+
+		public void AfterAnimationApplied () {
 			if (UpdateLocal != null)
 				UpdateLocal(this);
 

+ 1 - 1
spine-unity/Assets/Spine/package.json

@@ -2,7 +2,7 @@
 	"name": "com.esotericsoftware.spine.spine-unity",
 	"displayName": "spine-unity Runtime",
 	"description": "This plugin provides the spine-unity runtime core.",
-	"version": "4.1.12",
+	"version": "4.1.13",
 	"unity": "2018.3",
 	"author": {
 		"name": "Esoteric Software",

+ 3 - 2
spine-unity/Modules/com.esotericsoftware.spine.timeline/Runtime/SpineAnimationState/SpineAnimationStateMixerBehaviour.cs

@@ -332,11 +332,12 @@ namespace Spine.Unity.Playables {
 						toAnimation.Apply(skeleton, 0, toClipTime, clipData.loop, null, clipData.alpha, MixBlend.Setup, MixDirection.In);
 				}
 
+				skeleton.UpdateWorldTransform();
 				if (skeletonAnimation) {
-					skeletonAnimation.Update(0);
+					skeletonAnimation.AfterAnimationApplied();
 					skeletonAnimation.LateUpdate();
 				} else if (skeletonGraphic) {
-					skeletonGraphic.Update(0);
+					skeletonGraphic.AfterAnimationApplied();
 					skeletonGraphic.LateUpdate();
 				}
 			}

+ 2 - 2
spine-unity/Modules/com.esotericsoftware.spine.timeline/package.json

@@ -2,7 +2,7 @@
 	"name": "com.esotericsoftware.spine.timeline",
 	"displayName": "Spine Timeline Extensions",
 	"description": "This plugin provides integration of spine-unity for the Unity Timeline.\n\nPrerequisites:\nIt requires a working installation of the spine-unity and spine-csharp runtimes as UPM packages (not as spine-unity unitypackage), version 4.1.\n(See http://esotericsoftware.com/git/spine-runtimes/spine-unity)",
-	"version": "4.1.7",
+	"version": "4.1.8",
 	"unity": "2018.3",
 	"author": {
 		"name": "Esoteric Software",
@@ -11,7 +11,7 @@
 	},
 	"dependencies": {
 		"com.unity.timeline": "1.2.10",
-		"com.esotericsoftware.spine.spine-unity": "4.1.11"
+		"com.esotericsoftware.spine.spine-unity": "4.1.13"
 	},
 	"keywords": [
 		"spine",