public void Apply(float time) { for (int i = 0; i < tracks.Count; i++) { AnimationTrack track = tracks[i]; track.GetBone().ClearPose(); track.GetBone().ApplyPose(track.GetPoseAt(time)); } }
public void ApplyBlend(float time, Animation toBlend, float blendAmt) { for (int i = 0; i < tracks.Count; i++) { AnimationTrack track = tracks[i]; if (blendAmt <= 0.001f) { track.GetBone().ClearPose(); } if (track.GetBone().GetCurrentPose() != null) { track.GetBone().ApplyPose(track.GetBone().GetCurrentPose().Blend(track.GetPoseAt(time), Math.MathUtil.Clamp(blendAmt, 0f, 1f))); } else { track.GetBone().ApplyPose(track.GetPoseAt(time)); } } }