public PosOri GetInterpPoint(float t) { var point = GetPoint(multiplier, length, t); var dir = GetTangent(multiplier, length, t); var upVector = -Vector3.Cross(dir, Vector3.forward); upVector = Vector3.up; var quat = GeomUtil.GetQuatFromDir(dir, upVector); return(new PosOri(point, quat)); }
public PosOri GetInterpPoint(float t) { var point = GetPoint(rx, ry, t); var dir = GetTangent(rx, ry, t); var upVector = -Vector3.Cross(dir, Vector3.forward); var quat = GeomUtil.GetQuatFromDir(dir, upVector); //Quaternion.LookRotation(dir, Vector3.up); //if (t < 0.5f) // quat = Quaternion.LookRotation(dir, Vector3.down); return(new PosOri(point, quat)); }