加载中...
gltf数据格式
发表于:2023-06-19 | 分类: gltf webGL
  1. 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。
  2. buffers: 包含缓冲区(buffer)的数组。缓冲区存储模型的二进制数据,例如顶点数据、纹理数据等。

  3. bufferViews: 包含缓冲区视图(buffer view)的数组。缓冲区视图定义了对缓冲区的切片和偏移,以便访问特定的数据。

    • "buffer":指定使用的缓冲区索引。在这种情况下,0表示使用索引为0的缓冲区。
    • "byteLength":指定缓冲区视图的字节长度。在这种情况下,缓冲区视图的字节长度为30012字节。
    • "byteOffset":指定缓冲区视图的字节偏移量。在这种情况下,缓冲区视图的字节偏移量为0
  4. meshes: 包含网格(mesh)的数组。网格定义了模型的几何形状,由一个或多个网格原语(primitives)组成,如三角形或线段。

    • “name”:指定网格对象的名称,这里是”Mesh_1”。
    • “primitives”:是一个数组,包含一个或多个图元(primitive)。在这种情况下,只有一个图元。
      • "attributes":是一个对象,指定图元的属性。属性包括顶点位置(POSITION)、法线(NORMAL)和纹理坐标(TEXCOORD_0)。这些属性与缓冲区视图的索引相关联。例如,属性”POSITION”的值为0,表示与索引为0的缓冲区视图相关联的顶点位置数据。
      • "indices":指定与该图元关联的索引缓冲区的索引。在这种情况下,索引缓冲区的索引为3
      • "material":指定与该图元关联的材质的索引。在这种情况下,材质的索引为0
  5. materials: 包含材质(material)的数组。材质定义了模型表面的外观和属性,如颜色、纹理等。

    • “name”:材质的名称。
    • “pbrMetallicRoughness”:基于物理的金属粗糙度材质的属性。
      • "baseColorFactor":基础颜色的因子,表示为RGBA数组。
      • "baseColorTexture":基础颜色纹理的索引。
      • "metallicFactor":金属度的因子。
      • "roughnessFactor":粗糙度的因子。
      • "metallicRoughnessTexture":金属粗糙度纹理的索引。
    • “normalTexture”:法线纹理的属性。
      • "scale":法线纹理的缩放因子。
      • "index":法线纹理的索引。
    • "emissiveFactor":自发光的因子,表示为RGB数组。
    • "emissiveTexture":自发光纹理的索引。
    • “occlusionTexture”:遮挡纹理的属性。
      • "strength":遮挡强度的因子。
      • "index":遮挡纹理的索引。
    • "alphaMode":透明度的模式。
    • "alphaCutoff":透明度的截断值。
    • "doubleSided":指示材质是否双面渲染的布尔值。
  6. textures: 包含纹理(texture)的数组。纹理定义了模型表面的图像或图案。

    • "name":纹理的名称。
    • "sampler":纹理采样器的索引。
    • "source":纹理图像的索引。
    • "extensions":纹理的扩展属性。
    • "extras":自定义的附加属性。
  7. images: 包含图像(image)的数组。图像定义了纹理的实际图像数据,可以是嵌入的图像数据或引用外部图像文件。

  8. samplers:是 GLTF 文件中用于定义纹理采样器的部分。它是一个包含多个采样器对象的数组。

  • "magFilter": 定义纹理在放大时的过滤方式。可能的值包括:
    • 9728NEAREST,最近点采样。
    • 9729LINEAR,线性过滤。
  • "minFilter": 定义纹理在缩小时的过滤方式。可能的值包括:
    • 9728NEAREST,最近点采样。
    • 9729LINEAR,线性过滤。
    • 9984NEAREST_MIPMAP_NEAREST,使用最近点采样从最近的 mipmap 级别中获取纹理颜色。
    • 9985LINEAR_MIPMAP_NEAREST,使用线性过滤从最近的 mipmap 级别中获取纹理颜色。
    • 9986NEAREST_MIPMAP_LINEAR,使用最近点采样从两个最近的 mipmap 级别之间进行插值获取纹理颜色。
    • 9987LINEAR_MIPMAP_LINEAR,使用线性过滤从两个最近的 mipmap 级别之间进行插值获取纹理颜色。
  • "wrapS": 定义纹理在 S (水平) 方向上的环绕方式。可能的值包括:
    • 33071CLAMP_TO_EDGE,超出纹理边界的坐标将被夹紧到边界。
    • 33648MIRRORED_REPEAT,纹理将在超出范围的坐标上进行镜像重复。
    • 10497REPEAT,纹理将在超出范围的坐标上进行重复。
  • "wrapT": 定义纹理在 T (垂直) 方向上的环绕方式。可能的值和 "wrapS" 相同。
  • "extensions": 采样器的扩展属性。
  • "extras": 自定义的附加属性。
  1. nodes: 包含节点(node)的数组。节点是模型的层次结构中的元素,可以包含几何信息、变换信息以及其他节点的引用。

  2. scenes: 包含场景(scene)的数组。场景定义了一组节点的集合,表示完整的场景层次结构。

    • "name": "Scene":场景的名称为 “Scene”。
    • "nodes": [3]:场景中包含一个节点,该节点的索引为 3。
  3. scene: 表示默认场景的索引。在 GLTF 文件中,可以定义多个场景,但只能指定一个默认场景。

上一篇:
倾斜摄影模型分层单体化
下一篇:
cesium pick和射线的使用(工具篇)