Exemplo n.º 1
0
    // Interpolation with a cubic curve
    // Resolves to ((1-t)^3)a + 3t((1-t)^2)b + 3t^2(1-t)c + (t^3)d
    public static Vector2 Cerp(SplineChunk chunk, float t)
    {
        Vector2 qerpABC = Qerp(chunk.a, chunk.b, chunk.c, t);
        Vector2 qerpBCD = Qerp(chunk.b, chunk.c, chunk.d, t);

        return(Lerp(qerpABC, qerpBCD, t));
    }
Exemplo n.º 2
0
    private void RenderCubic(SplineChunk splineChunk)
    {
        int oldPositionCount = lineRenderer.positionCount;

        lineRenderer.positionCount = lineRenderer.positionCount + linesPerUnit + 1;

        float step = 1f / linesPerUnit;
        float t    = 0;

        for (int i = oldPositionCount; i < lineRenderer.positionCount; i++, t += step)
        {
            lineRenderer.SetPosition(i, Spline.Cerp(splineChunk, t));
        }
    }