Exemple #1
0
 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));
     }
 }
Exemple #2
0
 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));
         }
     }
 }