docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Interface ISpline

    ISpline defines the interface from which Spline types inherit.

    Inherited Members
    IReadOnlyList<BezierKnot>.this[int]
    IReadOnlyCollection<BezierKnot>.Count
    IEnumerable<BezierKnot>.GetEnumerator()
    Namespace: UnityEngine.Splines
    Assembly: Unity.Splines.dll
    Syntax
    public interface ISpline : IReadOnlyList<BezierKnot>, IReadOnlyCollection<BezierKnot>, IEnumerable<BezierKnot>, IEnumerable

    Properties

    Closed

    Whether the spline is open (has a start and end point) or closed (forms an unbroken loop).

    Declaration
    bool Closed { get; }
    Property Value
    Type Description
    bool

    Methods

    GetCurve(int)

    Get a BezierCurve from a knot index.

    Declaration
    BezierCurve GetCurve(int index)
    Parameters
    Type Name Description
    int index

    The knot index that serves as the first control point for this curve.

    Returns
    Type Description
    BezierCurve

    A BezierCurve formed by the knot at index and the next knot.

    GetCurveInterpolation(int, float)

    Return the interpolation ratio (0 to 1) corresponding to a distance on a BezierCurve. Distance is relative to the curve.

    Declaration
    float GetCurveInterpolation(int curveIndex, float curveDistance)
    Parameters
    Type Name Description
    int curveIndex

    The zero-based index of the curve.

    float curveDistance

    The distance (measuring from the knot at curveIndex) to convert to a normalized interpolation ratio.

    Returns
    Type Description
    float

    The normalized interpolation ratio matching distance on the designated curve.

    GetCurveLength(int)

    Return the length of a curve.

    Declaration
    float GetCurveLength(int index)
    Parameters
    Type Name Description
    int index

    The index of the curve for which the length needs to be retrieved.

    Returns
    Type Description
    float

    Returns the length of the curve of index 'index' in the spline.

    See Also
    GetLength()

    GetCurveUpVector(int, float)

    Return the up vector for a t ratio on the curve. Contrary to EvaluateUpVector<T>(T, float), this method uses cached values when possible for better performance when accessing these values regularly.

    Declaration
    float3 GetCurveUpVector(int index, float t)
    Parameters
    Type Name Description
    int index

    The index of the curve for which the length needs to be retrieved.

    float t

    A value between 0 and 1 representing the ratio along the curve.

    Returns
    Type Description
    float3

    Returns the up vector at the t ratio of the curve of index 'index'.

    GetLength()

    Return the sum of all curve lengths, accounting for Closed state.

    Declaration
    float GetLength()
    Returns
    Type Description
    float

    Returns the sum length of all curves composing this spline, accounting for closed state.

    Extension Methods

    SplineUtility.CalculateLength<T>(T, float4x4)
    SplineUtility.CalculateUpVector<T>(T, float)
    SplineUtility.ConvertIndexUnit<T>(T, float, PathIndexUnit)
    SplineUtility.ConvertIndexUnit<T>(T, float, PathIndexUnit, PathIndexUnit)
    SplineUtility.CurveToSplineT<T>(T, float)
    SplineUtility.EvaluateAcceleration<T>(T, float)
    SplineUtility.EvaluateCurvatureCenter<T>(T, float)
    SplineUtility.EvaluateCurvature<T>(T, float)
    SplineUtility.EvaluatePosition<T>(T, float)
    SplineUtility.EvaluateTangent<T>(T, float)
    SplineUtility.EvaluateUpVector<T>(T, float)
    SplineUtility.Evaluate<T>(T, float, out float3, out float3, out float3)
    SplineUtility.GetBounds<T>(T)
    SplineUtility.GetBounds<T>(T, float4x4)
    SplineUtility.GetCurveCount<T>(T)
    SplineUtility.GetPointAtLinearDistance<T>(T, float, float, out float)
    SplineUtility.NextIndex<T>(T, int)
    SplineUtility.Next<T>(T, int)
    SplineUtility.PreviousIndex<T>(T, int)
    SplineUtility.Previous<T>(T, int)
    SplineUtility.SplineToCurveT<T>(T, float, out float)
    In This Article
    Back to top
    Copyright © 2024 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)