/*! \cond PRIVATE */ void getInterpolatedSourcePosition(CurvySplineBase spline, float tf, out Vector3 position, out Vector3 tangent, out Vector3 up) { if (spline.Length == 0) { position = spline.transform.localPosition; tangent = Vector3.forward; up = Vector3.up; } else { if (UseCache) { position = spline.InterpolateFast(tf); tangent = spline.GetTangentFast(tf); } else { position = spline.Interpolate(tf); tangent = spline.GetTangent(tf, position); } up = spline.GetOrientationUpFast(tf); } if (Space == Space.World) { position = spline.transform.TransformPoint(position); tangent = spline.transform.TransformDirection(tangent); up = spline.transform.TransformDirection(up); } }
/*! \cond PRIVATE */ void getInterpolatedSourcePosition(CurvySplineBase spline,float tf, out Vector3 position, out Vector3 tangent, out Vector3 up) { if (UseCache) { position = spline.InterpolateFast(tf); tangent = spline.GetTangentFast(tf); } else { position = spline.Interpolate(tf); tangent = spline.GetTangent(tf, position); } up = spline.GetOrientationUpFast(tf); if (Space == Space.World) { position = spline.transform.TransformPoint(position); tangent = spline.transform.TransformDirection(tangent); up = spline.transform.TransformDirection(up); } }