docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class AccessorBase

    An accessor defines a method for retrieving data as typed arrays from within a buffer view. See . accessor in the glTF 2.0 specification.

    Inheritance
    object
    NamedObject
    AccessorBase
    AccessorBase<TSparse>
    Inherited Members
    NamedObject.name
    object.ToString()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    Namespace: GLTFast.Schema
    Assembly: solution.dll
    Syntax
    [Serializable]
    public abstract class AccessorBase : NamedObject

    Fields

    bufferView

    The index of the bufferView. If this is undefined, look in the sparse object for the index and value buffer views.

    Declaration
    public int bufferView
    Field Value
    Type Description
    int

    byteOffset

    The offset relative to the start of the bufferView in bytes. This must be a multiple of the size of the component datatype.

    Declaration
    public int byteOffset
    Field Value
    Type Description
    int

    componentType

    The datatype of components in the attribute. All valid values correspond to WebGL enums. The corresponding typed arrays are: Int8Array, Uint8Array, Int16Array, Uint16Array, Uint32Array, and Float32Array, respectively. 5125 (UNSIGNED_INT) is only allowed when the accessor contains indices i.e., the accessor is only referenced by primitive.indices.

    Declaration
    public GltfComponentType componentType
    Field Value
    Type Description
    GltfComponentType

    count

    The number of attributes referenced by this accessor, not to be confused with the number of bytes or number of components.

    Declaration
    public int count
    Field Value
    Type Description
    int

    max

    Maximum value of each component in this attribute. Both min and max arrays have the same length. The length is determined by the value of the type property; it can be 1, 2, 3, 4, 9, or 16.

    When componentType is 5126 (FLOAT) each array value must be stored as double-precision JSON number with numerical value which is equal to buffer-stored single-precision value to avoid extra runtime conversions.

    normalized property has no effect on array values: they always correspond to the actual values stored in the buffer. When accessor is sparse, this property must contain max values of accessor data with sparse substitution applied.

    Declaration
    public float[] max
    Field Value
    Type Description
    float[]

    min

    Minimum value of each component in this attribute. Both min and max arrays have the same length. The length is determined by the value of the type property; it can be 1, 2, 3, 4, 9, or 16.

    When componentType is 5126 (FLOAT) each array value must be stored as double-precision JSON number with numerical value which is equal to buffer-stored single-precision value to avoid extra runtime conversions.

    normalized property has no effect on array values: they always correspond to the actual values stored in the buffer. When accessor is sparse, this property must contain min values of accessor data with sparse substitution applied.

    Declaration
    public float[] min
    Field Value
    Type Description
    float[]

    normalized

    Specifies whether integer data values should be normalized (true) to [0, 1] (for unsigned types) or [-1, 1] (for signed types), or converted directly (false) when they are accessed. Must be false when accessor is used for animation data.

    Declaration
    public bool normalized
    Field Value
    Type Description
    bool

    type

    Specifies if the attribute is a scalar, vector, or matrix, and the number of elements in the vector or matrix.

    Declaration
    [Obsolete("Use GetAttributeType and SetAttributeType for access.")]
    public string type
    Field Value
    Type Description
    string

    Properties

    ByteSize

    Overall, byte size. Ignores interleaved or sparse accessors

    Declaration
    public int ByteSize { get; }
    Property Value
    Type Description
    int

    ElementByteSize

    Byte size of one element

    Declaration
    public int ElementByteSize { get; }
    Property Value
    Type Description
    int

    IsSparse

    True if the accessor is sparse

    Declaration
    public bool IsSparse { get; }
    Property Value
    Type Description
    bool

    Sparse

    Sparse storage of attributes that deviate from their initialization value.

    Declaration
    public abstract AccessorSparseBase Sparse { get; }
    Property Value
    Type Description
    AccessorSparseBase

    Methods

    GetAccessorAttributeType(int)

    Get one-dimensional glTF attribute type by number of components per elements. Note that this does not support matrix types.

    Declaration
    public static GltfAccessorAttributeType GetAccessorAttributeType(int dimension)
    Parameters
    Type Name Description
    int dimension

    Number of components per element

    Returns
    Type Description
    GltfAccessorAttributeType

    Corresponding one-dimensional glTF attribute type

    Exceptions
    Type Condition
    ArgumentOutOfRangeException

    Thrown when dimension is not between 1 and 4.

    GetAccessorAttributeTypeLength(GltfAccessorAttributeType)

    Get number of components of glTF attribute type.

    Declaration
    public static int GetAccessorAttributeTypeLength(GltfAccessorAttributeType type)
    Parameters
    Type Name Description
    GltfAccessorAttributeType type

    glTF attribute type

    Returns
    Type Description
    int

    Number of components

    Exceptions
    Type Condition
    ArgumentOutOfRangeException

    Thrown when the value of type is unknown.

    GetAttributeType()

    GltfAccessorAttributeType typed/cached getter from the type string.

    Declaration
    public GltfAccessorAttributeType GetAttributeType()
    Returns
    Type Description
    GltfAccessorAttributeType

    The Accessor's attribute type, if it could be retrieved correctly. Undefined otherwise

    GetComponentType(VertexAttributeFormat)

    Converts Unity vertex attribute format to glTF component type.

    Declaration
    public static GltfComponentType GetComponentType(VertexAttributeFormat format)
    Parameters
    Type Name Description
    VertexAttributeFormat format

    vertex attribute format

    Returns
    Type Description
    GltfComponentType

    glTF component type

    Exceptions
    Type Condition
    ArgumentOutOfRangeException

    Thrown when the value of format is unknown.

    GetComponentTypeSize(GltfComponentType)

    Provides size of components by type

    Declaration
    public static int GetComponentTypeSize(GltfComponentType componentType)
    Parameters
    Type Name Description
    GltfComponentType componentType

    glTF component type

    Returns
    Type Description
    int

    Component size in bytes

    Exceptions
    Type Condition
    ArgumentOutOfRangeException

    Thrown when value of componentType is unknown

    SetAttributeType(GltfAccessorAttributeType)

    GltfAccessorAttributeType typed setter for the type string.

    Declaration
    public void SetAttributeType(GltfAccessorAttributeType attributeType)
    Parameters
    Type Name Description
    GltfAccessorAttributeType attributeType

    Attribute type

    TryGetBounds()

    For 3D positional data, returns accessor's bounding box. Applies coordinate system transform (glTF to Unity)

    Declaration
    public Bounds? TryGetBounds()
    Returns
    Type Description
    Bounds?

    Bounding box enclosing the minimum and maximum values

    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)