资源描述
geometry
包含了I3S所使用的全部几何定义类型。
1 **id**
number
这一存储内部几何的唯一ID。
2 type
string
表示了接下来的几何是如何定义的,使用数组缓存切片(ArrayBufferView),作为内部参照(GeometryReference),作为共享资源参照(SharedResourceReference)或者为嵌入式的(Embedded)。
3 transformation
number[16]
三维(4x4)变形矩阵,以16个值的线性数组表示。
4 params
几何的参数,作为嵌入式GeometryParams对象,数组缓存切片,内部参照对象,或者共享资源参照对象。
4.1 GeometryParams
是全部几何参数类(GeometryReferenceParams, VestedGeometryParamas, SingleComponentParams)的抽象父对象,本身不具有属性和参数。
为以下几种之一:
geometryReferenceParams
vestedGeometryParams
singleComponentParams
4.2 geometryReferenceParams
除了独占一个几何之外,要素可以参考节点的几何定义的一部分。这允许多个要素的几何预汇总。在这种情况下,必须使用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则为真。在mesh-pyramids模式下总是为真。
4.3 VestedGeometryParams
这一对象扩展了GeometryParams,并且作为全部具体的(既定的)直接包含一个几何定义的GeometryParams的抽象父对象,可以作为数组缓存切片或者嵌入式的几何。
4.3.1 type
string
一个VestedGeometryParams对象所定义的原始几何类型。
*triangles*
lines
points
4.3.2 topology
string
声明嵌入的或在几何资源中的几何属性的拓扑关系。当为Indexed时,其索引(面)也必须同时声明。
PerAttributeArray
InterleavedArray
Indexed
4.3.3 vertexAttributes
顶点属性的列表,例如位置、法线、UV坐标和他们的定义。当他们是标准的关键字例如position , uv0..uv9, normal 和color时,此列表为开放可扩展的。
VertexAttributes描述了单一顶点的有效属性。
4.3.3.1 **position**
geometryAttribute
顶点位置
每个几何属性对象都是一组访问器,比如二进制数组中的一个切片,有两种几何属性,顶点属性和面属性。
顶点属性描述了单一顶点的有效属性,而面属性通过提供一组索引来描述面和其他结构。例如,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
能够构成有效元素的最短位数。例如,对于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 **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坐标
每个几何属性对象都是一组访问器,比如二进制数组中的一个切片,有两种几何属性,顶点属性和面属性。
顶点属性描述了单一顶点的有效属性,而面属性通过提供一组索引来描述面和其他结构。例如,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
能够构成有效元素的最短位数。例如,对于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 **valueType**
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
区域属性
每个几何属性对象都是一组访问器,比如二进制数组中的一个切片,有两种几何属性,顶点属性和面属性。
顶点属性描述了单一顶点的有效属性,而面属性通过提供一组索引来描述面和其他结构。例如,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 position 最短位数是3。
{
"position": {
"byteOffset": 8,
"valueType": "Float32",
"valuesPerElement": 3
},
"normal": {
"byteOffset": 2672,
"valueType": "Float32",
"valuesPerElement": 3
},
"uv0": {
"byteOffset": 5336,
"valueType": "Float32",
"valuesPerElement": 2
},
"color": {
"byteOffset": 7112,
"valueType": "UInt8",
"valuesPerElement": 4
}
4.3.4 faces
geometryAttribute
面属性的列表,例如构建面的索引,及其定义。当他们是标准的关键字例如position , uv0..uv9, normal 和color时,此列表为开放可扩展的。
每个几何属性对象都是一组访问器,比如二进制数组中的一个切片,有两种几何属性,顶点属性和面属性。
顶点属性描述了单一顶点的有效属性,而面属性通过提供一组索引来描述面和其他结构。例如,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
能够构成有效元素的最短位数。例如,对于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
展开阅读全文