diff --git a/Assets/ThirdParty/Spriter2Unity/Editor/Unity/AnimationBuilder.cs b/Assets/ThirdParty/Spriter2Unity/Editor/Unity/AnimationBuilder.cs index 5363ae6..89ddc02 100644 --- a/Assets/ThirdParty/Spriter2Unity/Editor/Unity/AnimationBuilder.cs +++ b/Assets/ThirdParty/Spriter2Unity/Editor/Unity/AnimationBuilder.cs @@ -71,6 +71,8 @@ public List BuildAnimationClips(GameObject root, Entity entity, s if (originalAnimClip != null) { Debug.Log("Replacing animation clip " + animClip.name); + AnimationEvent[] events = AnimationUtility.GetAnimationEvents(originalAnimClip); + AnimationUtility.SetAnimationEvents(animClip, events); EditorUtility.CopySerialized(animClip, originalAnimClip); allAnimClips.Remove(originalAnimClip); } @@ -100,8 +102,12 @@ public AnimationClip MakeAnimationClip(GameObject root, Animation animation, str var animClip = new AnimationClip(); animClip.name = animation.Name; +#if UNITY_5 + //Not needed in Unity 5 ?? +#else //Set clip to Generic type AnimationUtility.SetAnimationType(animClip, ModelImporterAnimationType.Generic); +#endif //Populate the animation curves & events MakeAnimationCurves(root, animClip, animation); diff --git a/Assets/ThirdParty/Spriter2Unity/Editor/Unity/ScmlPostProcessor.cs b/Assets/ThirdParty/Spriter2Unity/Editor/Unity/ScmlPostProcessor.cs index c5b4535..453dcde 100644 --- a/Assets/ThirdParty/Spriter2Unity/Editor/Unity/ScmlPostProcessor.cs +++ b/Assets/ThirdParty/Spriter2Unity/Editor/Unity/ScmlPostProcessor.cs @@ -123,7 +123,11 @@ static void ImportScml(string assetPath) { if (animationClip) { - AnimatorController.AddAnimationClipToController(controller, animationClip); +#if UNITY_5 + controller.AddMotion(animationClip); +#else + AnimatorController.AddAnimationClipToController(controller, animationClip); +#endif } } } diff --git a/Assets/ThirdParty/Spriter2Unity/Editor/Utils/AnimationCurveUtils.cs b/Assets/ThirdParty/Spriter2Unity/Editor/Utils/AnimationCurveUtils.cs index 7c363bb..f5821c8 100644 --- a/Assets/ThirdParty/Spriter2Unity/Editor/Utils/AnimationCurveUtils.cs +++ b/Assets/ThirdParty/Spriter2Unity/Editor/Utils/AnimationCurveUtils.cs @@ -189,9 +189,15 @@ public static void AddKeyIfChanged(this AnimationCurve curve, Keyframe keyframe) public static void SetAnimationSettings(this AnimationClip animClip, AnimationClipSettings settings) { //Use reflection to get the internal method - BindingFlags bindingFlags = BindingFlags.Static | BindingFlags.NonPublic; + +#if UNITY_5 + AnimationUtility.SetAnimationClipSettings(animClip, settings); +#else + BindingFlags bindingFlags = BindingFlags.Static | BindingFlags.NonPublic; MethodInfo mInfo = typeof(AnimationUtility).GetMethod("SetAnimationClipSettings", bindingFlags); mInfo.Invoke(null, new object[] { animClip, settings }); +#endif + } } }