Merge pull request #432 from Fenrisul/master

[Unity] SkeletonAnimator lastTime calculation added to fix skipping
This commit is contained in:
Fenrisul 2015-06-04 11:22:24 -07:00
commit 69e724a1da

View File

@ -46,6 +46,7 @@ public class SkeletonAnimator : SkeletonRenderer, ISkeletonAnimation {
Dictionary<string, Spine.Animation> animationTable = new Dictionary<string, Spine.Animation>();
Animator animator;
float lastTime;
public override void Reset () {
base.Reset();
@ -62,7 +63,7 @@ public class SkeletonAnimator : SkeletonRenderer, ISkeletonAnimation {
animator = GetComponent<Animator>();
lastTime = Time.time;
}
void Update () {
@ -72,12 +73,13 @@ public class SkeletonAnimator : SkeletonRenderer, ISkeletonAnimation {
if (layerMixModes.Length != animator.layerCount) {
System.Array.Resize<MixMode>(ref layerMixModes, animator.layerCount);
}
float deltaTime = Time.time - lastTime;
skeleton.Update(Time.deltaTime);
//apply
int layerCount = animator.layerCount;
float deltaTime = Time.deltaTime;
for (int i = 0; i < layerCount; i++) {
float layerWeight = animator.GetLayerWeight(i);
@ -183,5 +185,7 @@ public class SkeletonAnimator : SkeletonRenderer, ISkeletonAnimation {
if (_UpdateComplete != null) {
_UpdateComplete(this);
}
lastTime = Time.time;
}
}