accessors: 包含访问器(accessor)的数组。访问器定义了访问和解释二进制数据的方式,例如顶点坐标、法线、纹理坐标等。bufferView: 表示该访问器使用的缓冲区视图(buffer view)的索引。缓冲区视图定义了对应的二进制数据的切片和偏移。componentType: 表示存储每个坐标分量的数据类型。在这个例子中,5126对应的是浮点型数据类型,即FLOAT。count: 表示顶点坐标的数量。在这个例子中,有 4502 个顶点坐标。max: 表示顶点坐标的最大值。这是一个包含三个分量的数组,分别代表 x、y、z 坐标轴上的最大值。min: 表示顶点坐标的最小值。同样是一个包含三个分量的数组,分别代表 x、y、z 坐标轴上的最小值。type: 表示每个顶点坐标的数据类型。- 1、如果字段中的
type为"SCALAR",那么这表示顶点坐标的数据类型为标量(Scalar)。标量表示每个顶点只有一个分量,即只有一个值。 - 2、”VEC3” 表示每个顶点坐标由三个分量组成,即 x、y、z。
- 1、如果字段中的
buffers: 包含缓冲区(buffer)的数组。缓冲区存储模型的二进制数据,例如顶点数据、纹理数据等。bufferViews: 包含缓冲区视图(buffer view)的数组。缓冲区视图定义了对缓冲区的切片和偏移,以便访问特定的数据。"buffer":指定使用的缓冲区索引。在这种情况下,0表示使用索引为0的缓冲区。"byteLength":指定缓冲区视图的字节长度。在这种情况下,缓冲区视图的字节长度为30012字节。"byteOffset":指定缓冲区视图的字节偏移量。在这种情况下,缓冲区视图的字节偏移量为0
meshes: 包含网格(mesh)的数组。网格定义了模型的几何形状,由一个或多个网格原语(primitives)组成,如三角形或线段。- “name”:指定网格对象的名称,这里是”Mesh_1”。
- “primitives”:是一个数组,包含一个或多个图元(primitive)。在这种情况下,只有一个图元。
"attributes":是一个对象,指定图元的属性。属性包括顶点位置(POSITION)、法线(NORMAL)和纹理坐标(TEXCOORD_0)。这些属性与缓冲区视图的索引相关联。例如,属性”POSITION”的值为0,表示与索引为0的缓冲区视图相关联的顶点位置数据。"indices":指定与该图元关联的索引缓冲区的索引。在这种情况下,索引缓冲区的索引为3。"material":指定与该图元关联的材质的索引。在这种情况下,材质的索引为0。
materials: 包含材质(material)的数组。材质定义了模型表面的外观和属性,如颜色、纹理等。- “name”:材质的名称。
- “pbrMetallicRoughness”:基于物理的金属粗糙度材质的属性。
"baseColorFactor":基础颜色的因子,表示为RGBA数组。"baseColorTexture":基础颜色纹理的索引。"metallicFactor":金属度的因子。"roughnessFactor":粗糙度的因子。"metallicRoughnessTexture":金属粗糙度纹理的索引。
- “normalTexture”:法线纹理的属性。
"scale":法线纹理的缩放因子。"index":法线纹理的索引。
"emissiveFactor":自发光的因子,表示为RGB数组。"emissiveTexture":自发光纹理的索引。- “occlusionTexture”:遮挡纹理的属性。
"strength":遮挡强度的因子。"index":遮挡纹理的索引。
"alphaMode":透明度的模式。"alphaCutoff":透明度的截断值。"doubleSided":指示材质是否双面渲染的布尔值。
textures: 包含纹理(texture)的数组。纹理定义了模型表面的图像或图案。"name":纹理的名称。"sampler":纹理采样器的索引。"source":纹理图像的索引。"extensions":纹理的扩展属性。"extras":自定义的附加属性。
images: 包含图像(image)的数组。图像定义了纹理的实际图像数据,可以是嵌入的图像数据或引用外部图像文件。samplers:是 GLTF 文件中用于定义纹理采样器的部分。它是一个包含多个采样器对象的数组。
"magFilter": 定义纹理在放大时的过滤方式。可能的值包括:9728:NEAREST,最近点采样。9729:LINEAR,线性过滤。
"minFilter": 定义纹理在缩小时的过滤方式。可能的值包括:9728:NEAREST,最近点采样。9729:LINEAR,线性过滤。9984:NEAREST_MIPMAP_NEAREST,使用最近点采样从最近的 mipmap 级别中获取纹理颜色。9985:LINEAR_MIPMAP_NEAREST,使用线性过滤从最近的 mipmap 级别中获取纹理颜色。9986:NEAREST_MIPMAP_LINEAR,使用最近点采样从两个最近的 mipmap 级别之间进行插值获取纹理颜色。9987:LINEAR_MIPMAP_LINEAR,使用线性过滤从两个最近的 mipmap 级别之间进行插值获取纹理颜色。
"wrapS": 定义纹理在 S (水平) 方向上的环绕方式。可能的值包括:33071:CLAMP_TO_EDGE,超出纹理边界的坐标将被夹紧到边界。33648:MIRRORED_REPEAT,纹理将在超出范围的坐标上进行镜像重复。10497:REPEAT,纹理将在超出范围的坐标上进行重复。
"wrapT": 定义纹理在 T (垂直) 方向上的环绕方式。可能的值和"wrapS"相同。"extensions": 采样器的扩展属性。"extras": 自定义的附加属性。
nodes: 包含节点(node)的数组。节点是模型的层次结构中的元素,可以包含几何信息、变换信息以及其他节点的引用。scenes: 包含场景(scene)的数组。场景定义了一组节点的集合,表示完整的场景层次结构。"name": "Scene":场景的名称为 “Scene”。"nodes": [3]:场景中包含一个节点,该节点的索引为 3。
scene: 表示默认场景的索引。在 GLTF 文件中,可以定义多个场景,但只能指定一个默认场景。