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