1、geometry 包含了I3S所使用的全部几何定义类型。 1 **id** number 这一存储内部几何的唯一ID。 2 type string 表示了接下来的几何是如何定义的,使用数组缓存切片(ArrayBufferView),作为内部参照(GeometryReference),作为共享资源参照(SharedResourceReference)或者为嵌入式的(Embedded)。 3 transformation number[16] 三维(4x4)变形矩阵,以16个值的线性数组表示。 4 params 几何的参数,作为嵌入式GeometryParams对象,数组
2、缓存切片,内部参照对象,或者共享资源参照对象。 4.1 GeometryParams 是全部几何参数类(GeometryReferenceParams, VestedGeometryParamas, SingleComponentParams)的抽象父对象,本身不具有属性和参数。 为以下几种之一: geometryReferenceParams vestedGeometryParams singleComponentParams 4.2 geometryReferenceParams 除了独占一个几何之外,要素可以参考节点的几何定义的一部分。这允许多个要素的几何预汇总。在这
3、种情况下,必须使用GeometryReferenceParams。 4.2.1 **href** string 文档内对完整几何定义(嵌入式 或 数组缓存切片)的绝对引用,使用这一I3S JSON指针语法。例如 /geometryData/1 4.2.2 type string 类型表示了接下来的几何是如何定义的,使用数组缓冲区切片,作为内部参照,作为共享资源参照或者为嵌入式。 4.2.3 faceRange number[] 包括了该几何内属于这一要素的面的范围。 4.2.4 lodGeometry boolean 如果该几何属于LoD tree则为真。在me
4、sh-pyramids模式下总是为真。 4.3 VestedGeometryParams 这一对象扩展了GeometryParams,并且作为全部具体的(既定的)直接包含一个几何定义的GeometryParams的抽象父对象,可以作为数组缓存切片或者嵌入式的几何。 4.3.1 type string 一个VestedGeometryParams对象所定义的原始几何类型。 *triangles* lines points 4.3.2 topology string 声明嵌入的或在几何资源中的几何属性的拓扑关系。当为Indexed时,其索引(面)也必须同时声明。 Pe
5、rAttributeArray InterleavedArray Indexed 4.3.3 vertexAttributes 顶点属性的列表,例如位置、法线、UV坐标和他们的定义。当他们是标准的关键字例如position , uv0..uv9, normal 和color时,此列表为开放可扩展的。 VertexAttributes描述了单一顶点的有效属性。 4.3.3.1 **position** geometryAttribute 顶点位置 每个几何属性对象都是一组访问器,比如二进制数组中的一个切片,有两种几何属性,顶点属性和面属性。 顶点属性描述了单一顶点的有效属性
6、而面属性通过提供一组索引来描述面和其他结构。例如,faces.position 索引用来定义哪个顶点位置用来组成一个面。 4.3.3.1.1.1 byteOffset number 所要求的的字节段的起始字节位置。只对Geometry ArrayBufferView使用。 4.3.3.1.1.2 **valueType** string 元素类型 UInt8 UInt16 UInt32 UInt64 Int16 Int32 Int64 Float32 Float64 4.3.3.1.1.3 **valuesPerElement** number 能够构成有
7、效元素的最短位数。例如,对于xyz position 最短位数是3。 4.3.3.2 **normal** geometryAttribute 顶点法线 每个几何属性对象都是一组访问器,比如二进制数组中的一个切片,有两种几何属性,顶点属性和面属性。 顶点属性描述了单一顶点的有效属性,而面属性通过提供一组索引来描述面和其他结构。例如,faces.position 索引用来定义哪个顶点位置用来组成一个面。 4.3.3.2.1.1 byteOffset number 所要求的的字节段的起始字节位置。只对Geometry ArrayBufferView使用。 4.3.3.2.1.2
8、valueType** string 元素类型 UInt8 UInt16 UInt32 UInt64 Int16 Int32 Int64 Float32 Float64 4.3.3.2.1.3 **valuesPerElement** number 能够构成有效元素的最短位数。例如,对于xyz position 最短位数是3。 4.3.3.3 **uv0** geometryAttribute 第一组UV坐标 每个几何属性对象都是一组访问器,比如二进制数组中的一个切片,有两种几何属性,顶点属性和面属性。 顶点属性描述了单一顶点的有效属性,而面属性通过提
9、供一组索引来描述面和其他结构。例如,faces.position 索引用来定义哪个顶点位置用来组成一个面。 4.3.3.3.1.1 byteOffset number 所要求的的字节段的起始字节位置。只对Geometry ArrayBufferView使用。 4.3.3.3.1.2 **valueType** string 元素类型 UInt8 UInt16 UInt32 UInt64 Int16 Int32 Int64 Float32 Float64 4.3.3.3.1.3 **valuesPerElement** number 能够构成有效元素的最短位数
10、例如,对于xyz position 最短位数是3。 4.3.3.4 **color** geometryAttribute 颜色属性 每个几何属性对象都是一组访问器,比如二进制数组中的一个切片,有两种几何属性,顶点属性和面属性。 顶点属性描述了单一顶点的有效属性,而面属性通过提供一组索引来描述面和其他结构。例如,faces.position 索引用来定义哪个顶点位置用来组成一个面。 4.3.3.4.1.1 byteOffset number 所要求的的字节段的起始字节位置。只对Geometry ArrayBufferView使用。 4.3.3.4.1.2 **valueT
11、ype** string 元素类型 UInt8 UInt16 UInt32 UInt64 Int16 Int32 Int64 Float32 Float64 4.3.3.4.1.3 **valuesPerElement** number 能够构成有效元素的最短位数。例如,对于xyz position 最短位数是3。 4.3.3.5 region geometryAttribute 区域属性 每个几何属性对象都是一组访问器,比如二进制数组中的一个切片,有两种几何属性,顶点属性和面属性。 顶点属性描述了单一顶点的有效属性,而面属性通过提供一组索引来描述面和其他
12、结构。例如,faces.position 索引用来定义哪个顶点位置用来组成一个面。 4.3.3.5.1.1 byteOffset number 所要求的的字节段的起始字节位置。只对Geometry ArrayBufferView使用。 4.3.3.5.1.2 **valueType** string 元素类型 UInt8 UInt16 UInt32 UInt64 Int16 Int32 Int64 Float32 Float64 4.3.3.5.1.3 **valuesPerElement** number 能够构成有效元素的最短位数。例如,对于xyz po
13、sition 最短位数是3。 { "position": { "byteOffset": 8, "valueType": "Float32", "valuesPerElement": 3 }, "normal": { "byteOffset": 2672, "valueType": "Float32", "valuesPerElement": 3 }, "uv0": { "byteOffset": 5336, "valueType": "Float32", "valuesP
14、erElement": 2 }, "color": { "byteOffset": 7112, "valueType": "UInt8", "valuesPerElement": 4 } 4.3.4 faces geometryAttribute 面属性的列表,例如构建面的索引,及其定义。当他们是标准的关键字例如position , uv0..uv9, normal 和color时,此列表为开放可扩展的。 每个几何属性对象都是一组访问器,比如二进制数组中的一个切片,有两种几何属性,顶点属性和面属性。 顶点属性描述了单一顶点的有效属性,
15、而面属性通过提供一组索引来描述面和其他结构。例如,faces.position 索引用来定义哪个顶点位置用来组成一个面。 4.3.4.1.1.1 byteOffset number 所要求的的字节段的起始字节位置。只对Geometry ArrayBufferView使用。 4.3.4.1.1.2 **valueType** string 元素类型 UInt8 UInt16 UInt32 UInt64 Int16 Int32 Int64 Float32 Float64 4.3.4.1.1.3 **valuesPerElement** number 能够构成有效
16、元素的最短位数。例如,对于xyz position 最短位数是3。 4.4 singleComponentParams 这一类型的对象拓展了VestedGeometryParams且只使用一种纹理和一种材料。这可以被用于LoD几何的合集。组成对象提供了他们属于的那一部分几何的信息,特别是使用哪种材质和纹理来渲染他们。 4.4.1 material string 从根元素到这一节点的共享资源材料定义的指针引用URL。如有该项,对整个几何应用。 4.4.2 texture string 从根元素到这一节点的共享资源材料定义的指针引用URL。如有该项,对整个几何应用。 4.4.3 **id** number 组件的ID,仅在本几何内唯一。 4.4.4 materialID number 在共享资源的bundle中定义的用于渲染该部件的材料的UUID 4.4.5 textureID number[] 在共享资源中定义的,配合材料来渲染该部件的纹理的可选ID 4.4.6 regionID number[] 配合材料来渲染该部件的纹理集合的可选ID 网址: 技术支持网站: 电话:010-57632288 技术支持热线:400-819-2881 13






