Exemple #1
0
 public Matrix4 sample(float time)
 {
     if (transforms.Length == 1 || t0 >= t1)
     {
         return(transforms[0]);
     }
     else
     {
         float nt   = (MathUtils.clamp(time, t0, t1) - t0) * inv;
         int   idx0 = (int)nt;
         int   idx1 = Math.Min(idx0 + 1, transforms.Length - 1);
         return(Matrix4.blend(transforms[idx0], transforms[idx1], (float)(nt - idx0)));
     }
 }