Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

GLTFBufferView

继承: Resource < RefCounted < Object

代表 GLTF 缓冲区视图。

描述

GLTFBufferView 是一个表示 GLTF 的数据结构,一个可以在 "bufferViews" 数组中找到的 bufferView。缓冲区是二进制数据的 blob。缓冲区视图是缓冲区的一个切片,可用于识别缓冲区并从缓冲区中提取数据。

大多数缓冲区的自定义用途只需要使用 bufferbyte_lengthbyte_offsetbyte_strideindices 属性适用于更高级的用例,例如为 GPU 编码的交错网格数据。

教程

属性

int

buffer

-1

int

byte_length

0

int

byte_offset

0

int

byte_stride

-1

bool

indices

false

bool

vertex_attributes

false

方法

PackedByteArray

load_buffer_view_data(state: GLTFState) const


属性说明

int buffer = -1 🔗

  • void set_buffer(value: int)

  • int get_buffer()

这个缓冲视图所引用的缓冲索引。如果为 -1,则这个缓冲视图并没有引用任何缓冲。


int byte_length = 0 🔗

  • void set_byte_length(value: int)

  • int get_byte_length()

这个缓冲视图的长度,单位为字节。如果为 0,则这个缓冲视图为空。


int byte_offset = 0 🔗

  • void set_byte_offset(value: int)

  • int get_byte_offset()

这个缓冲视图的起点相对于缓冲起点的偏移量,单位为字节。


int byte_stride = -1 🔗

  • void set_byte_stride(value: int)

  • int get_byte_stride()

交错数据的步幅,单位为字节。如果为 -1,则这个缓冲视图不是交错的。


bool indices = false 🔗

  • void set_indices(value: bool)

  • bool get_indices()

如果 GLTFBufferView 的 OpenGL GPU 缓冲区类型是用于顶点索引的 ELEMENT_ARRAY_BUFFER(整数常量 34963),则为 True。如果该缓冲区类型是任何其他值,则为 False。有关可能的值,请参阅 Buffers、BufferViews 和 Accessors。该属性在导入时设置,并在导出时使用。


bool vertex_attributes = false 🔗

  • void set_vertex_attributes(value: bool)

  • bool get_vertex_attributes()

如果 GLTFBufferView 的 OpenGL GPU 缓冲区类型是用于顶点属性的 ARRAY_BUFFER(整数常量 34962),则为 True。如果该缓冲区类型是任何其他值,则为 False。有关可能的值,请参阅 Buffers、BufferViews 和 Accessors。该属性在导入时设置,在导出时使用。


方法说明

PackedByteArray load_buffer_view_data(state: GLTFState) const 🔗

从给定 GLTFState 中该缓冲区视图引用的缓冲区加载缓冲区视图数据。该方法尚不支持具有字节步幅的交错数据。数据以 PackedByteArray 形式返回。