Ejemplo n.º 1
0
 public static (Vector3, Vector3) GetVelocityAndAngularVelocity(TransformSample startSample,
                                                                TransformSample endSample, float duration)
 {
     return(ToLinearVelocity(startSample.Position,
                             endSample.Position, duration),
            ToAngularVelocity(startSample.Rotation,
                              endSample.Rotation, duration));
 }
Ejemplo n.º 2
0
        public static TransformSample Interpolate(TransformSample start,
                                                  TransformSample fin, float time)
        {
            float alpha = Mathf.Clamp01(Mathf.InverseLerp(start.SampleTime,
                                                          fin.SampleTime, time));

            return(new TransformSample(Vector3.Lerp(start.Position, fin.Position, alpha),
                                       Quaternion.Slerp(start.Rotation, fin.Rotation, alpha),
                                       time, (int)Mathf.Lerp((float)start.FrameIndex, (float)fin.FrameIndex, alpha)));
        }