27 KiB
DNA API 概述
以下是用于读取和写入 DNA 文件的主要方法概述。 以下文档适用于 C++。目前尚无 Python 文档。
如此处所述,有一些类用于从流中读取 DNA 或将其写入流。这些类包括:
创建读取器后,可以用它来查询 DNA 中包含的不同信息。 创建写入器后,可以用它来在 DNA 中设置新值。
这是通过本页列出的方法完成的。这些方法根据 DNA 文件中的层级进行分组。
注意: 本页并未列出所有可用方法。有关此处列出的方法的更多详细信息以及所有可用方法的列表,请参阅相应的读取器和/或写入器文档。
BinaryStreamReader
包含用于创建和销毁 BinaryStreamReader 的方法。 创建 BinaryStreamReader 时,用户可以通过指定要加载的 LOD 来过滤 DNA 文件中的数据。如此处所述,还可以通过指定要加载的数据层来进行过滤。
-
create(stream, layer = DataLayer::All, maxLOD = 0u, memRes = nullptr)
BinaryStreamReader 的工厂方法。 参数:
stream
- 将从中读取数据的源流。layer
- 指定需要加载的数据层。maxLOD
- 要加载的最大细节级别。值为零表示加载所有 LOD。memRes
- 用于分配的内存资源。如果未提供内存资源,将使用默认分配机制。用户负责通过调用 destroy 释放返回的指针。 -
create(stream, layer, maxLOD, minLOD, memRes = nullptr)
BinaryStreamReader 的工厂方法。 参数:
stream
- 将从中读取数据的源流。layer
- 指定需要加载的数据层。maxLOD
- 要加载的最大细节级别。minLOD
- 要加载的最小细节级别。maxLOD / minLOD 的范围为 [0, LOD 总数 - 1] 表示加载所有 LOD。memRes
- 用于分配的内存资源。如果未提供内存资源,将使用默认分配机制。用户负责通过调用 destroy 释放返回的指针。 -
create(stream, layer, lods, lodCount, memRes = nullptr)
BinaryStreamReader 的工厂方法。 参数:
stream
- 将从中读取数据的源流。layer
- 指定需要加载的数据层。lods
- 指定要加载的具体 LOD 的数组。lodCount
- lods 数组中的元素数量。memRes
- 用于分配的内存资源。如果未提供内存资源,将使用默认分配机制。用户负责通过调用 destroy 释放返回的指针。 -
destroy(instance)
用于释放 BinaryStreamReader 实例的方法。 参数:
instance
- 要释放的 BinaryStreamReader 实例。
BinaryStreamWriter
-
create(stream, memRes = nullptr)
BinaryStreamWriter 的工厂方法。 参数:
stream
- 将向其写入数据的流。memRes
- 用于分配的内存资源。如果未提供内存资源,将使用默认分配机制。用户负责通过调用 destroy 释放返回的指针。 -
destroy(BinaryStreamWriter* instance)
用于释放 BinaryStreamWriter 实例的方法。 参数:
instance
- 要释放的 BinaryStreamWriter 实例。
JSONStreamReader
-
create(stream, memRes = nullptr)
JSONStreamReader 的工厂方法。 参数:
stream
- 将从中读取数据的源流。memRes
- 用于分配的内存资源。如果未提供内存资源,将使用默认分配机制。用户负责通过调用 destroy 释放返回的指针。 -
destroy(instance)
用于释放 JSONStreamReader 实例的方法。 参数:
instance
- 要释放的 JSONStreamReader 实例。
JSONStreamWriter
-
create(stream, indentWidth = 4u, memRes = nullptr)
JSONStreamWriter 的工厂方法。 参数:
stream
- 将向其写入数据的流。indentWidth
- 用于缩进的空格数。memRes
- 用于分配的内存资源。如果未提供内存资源,将使用默认分配机制。用户负责通过调用 destroy 释放返回的指针。 -
destroy(instance)
用于释放 JSONStreamWriter 实例的方法。 参数:
instance
- 要释放的 JSONStreamWriter 实例。
setFrom() 方法
除了创建写入器的方法外,BinaryStreamReader 和 JSONStreamReader 都有一个从 Writer 继承的 setFrom() 方法,用于使用读取器中的数据初始化写入器。 使用此方法时,用于初始化写入器的数据可以按数据层进行过滤。
setFrom(source, layer = DataLayer::All, memRes = nullptr)
从给定的读取器初始化写入器。 此函数通过调用读取器的每个 getter 函数并将返回值传递给写入器中的匹配 setter 函数,将所有数据从给定的读取器复制到写入器实例中。 参数:
source
- 需要从中复制数据的源 DNA 读取器。layer
- 限制应从给定源读取器接管哪些层。memRes
- 用于复制期间临时分配的可选内存资源。
读取器方法
DescriptorReader
包含用于访问角色和骨骼各种元数据的只读访问器。
getName()
角色名称。getArchetype()
角色原型。getGender()
角色性别。getAge()
角色年龄。getTranslationUnit()
使用的平移单位(厘米或米)。getRotationUnit()
使用的旋转单位(度或弧度)。getCoordinateSystem()
使用的坐标系统(x、y 和 z 轴的方向)。getLODCount()
可用的细节级别(例如 6 表示以下级别可用:[0,1,2,3,4,5],其中 0 是细节最高的 LOD,5 是细节最低的 LOD)。getDBMaxLOD()
此角色的 DNA 数据中存储的最大细节级别。该值相对于数据库中的 LOD-0。getDBComplexity()
用于驱动此角色骨骼的输入控制接口的名称。此参数表示角色的输入控制复杂度。getDBName()
角色源自的数据库的名称。来自同一数据库的所有角色必须具有相同的定义,但可能具有不同的复杂度或 LOD。
DefinitionReader
包含用于表示骨骼静态数据的 DNA 属性的只读访问器。
getGUIControlCount()
GUI 控制器的数量。getGUIControlName(index)
请求的 GUI 控制器的名称。getRawControlCount()
原始控制器的数量。getRawControlName(index)
请求的原始控制器的名称。getJointCount()
关节的数量。getJointName(index)
请求的关节的名称。getJointIndicesForLOD(lod)
指定 LOD 的关节索引列表。getJointParentIndex(index)
请求的关节父级的索引。 可以使用此函数遍历和重建关节层级。示例: 关节名称: [A, B, C, D, E, F, G, H, I] 层级结构: [0, 0, 0, 1, 1, 4, 2, 6, 2] 描述了以下层级结构:
请求关节 5(关节名称:F)的父级索引将返回 4(关节名称:E)。 请求根关节的父级索引:0(关节名称:A)将返回相同的索引 0。A ├── B │ ├── D │ └── E │ └── F └── C ├── G │ └── H └── I
getBlendShapeChannelCount()
变形通道的数量。getBlendShapeChannelName(index)
请求的变形通道的名称。getBlendShapeChannelIndicesForLOD(lod)
指定 LOD 的变形通道索引列表。getAnimatedMapCount()
动画贴图的数量。getAnimatedMapName(index)
请求的动画贴图的名称。getAnimatedMapIndicesForLOD(lod)
指定 LOD 的动画贴图索引列表。getMeshCount()
网格的数量。getMeshName(index)
请求的网格的名称。getMeshIndicesForLOD(lod)
指定 LOD 的网格索引列表。getMeshBlendShapeChannelMappingCount()
网格-变形通道映射项的数量。getMeshBlendShapeChannelMapping(index)
保存指定映射索引的网格索引和相关变形通道索引的结构。getMeshBlendShapeChannelMappingIndicesForLOD(lod)
指定 LOD 的网格-变形通道映射索引列表。getNeutralJointTranslation(index)
绑定姿态下关节的平移值(x, y, z)。getNeutralJointTranslationXs()
绑定姿态下所有关节的 X 轴平移值列表。getNeutralJointTranslationYs()
绑定姿态下所有关节的 Y 轴平移值列表。getNeutralJointTranslationZs()
绑定姿态下所有关节的 Z 轴平移值列表。getNeutralJointRotation(index)
绑定姿态下关节的旋转值(x, y, z)。getNeutralJointRotationXs()
绑定姿态下所有关节的 X 轴旋转值列表。getNeutralJointRotationYs()
绑定姿态下所有关节的 Y 轴旋转值列表。getNeutralJointRotationZs()
绑定姿态下所有关节的 Z 轴旋转值列表。
BehaviorReader
包含用于定义骨骼评估的 DNA 属性的只读访问器。
getGUIToRawInputIndices()
用于将 GUI 映射到原始控制器的输入索引。getGUIToRawOutputIndices()
用于将 GUI 映射到原始控制器的输出索引。getGUIToRawFromValues()
在 GUI 到原始控制器映射期间用于决定是否应评估特定条目的过滤值(下限)。getGUIToRawToValues()
在 GUI 到原始控制器映射期间用于决定是否应评估特定条目的过滤值(上限)。getGUIToRawSlopeValues()
在 GUI 到原始控制器映射期间用于计算输出值的计算值(斜率/梯度)。getGUIToRawCutValues()
在 GUI 到原始控制器映射期间用于计算输出值的计算值(垂直截距)。getPSDCount()
不同 PSD 表情的数量。getPSDRowIndices()
PSD(输入)索引。getPSDColumnIndices()
控制器(输入)索引。getPSDValues()
与每个 PSD 行和列对相关联的权重。getJointRowCount()
完整未压缩关节矩阵中的行数。getJointColumnCount()
完整未压缩关节矩阵中的列数。getJointVariableAttributeIndices(lod)
请求的 LOD 的关节属性索引(输出索引)。getJointGroupCount()
整个关节矩阵中存在的关节组数量。getJointGroupLODs(jointGroupIndex)
请求的关节组中每个细节级别的行数。 每个元素的位置代表级别本身,而值表示属于该级别的关节组内的行数。例如:[12, 9, 3] │ │ └── LOD-2 包含前 3 行 │ └── LOD-1 包含前 9 行 └── LOD-0 包含前 12 行
getJointGroupInputIndices(jointGroupIndex)
请求的关节组包含的列索引。这些列索引指向完整的未压缩关节矩阵。getJointGroupOutputIndices(jointGroupIndex)
请求的关节组包含的行索引。这些行索引指向完整的未压缩关节矩阵。getJointGroupValues(jointGroupIndex)
请求的关节组包含的值。getJointGroupJointIndices(jointGroupIndex)
请求的关节组包含的关节索引。getBlendShapeChannelLODs()
变形通道每个细节级别的输入索引数量。 每个元素的位置代表级别本身(例如 [0,1,2,3,4,5] 值 0 是最高细节的 LOD,值 5 是最低细节的 LOD),而值表示属于该级别的输入索引数量。getBlendShapeChannelInputIndices()
用于索引输入向量的输入索引。getBlendShapeChannelOutputIndices()
指定变形通道输出值位置的输出索引。getAnimatedMapLODs()
动画贴图每个细节级别的行数。 每个元素的位置代表级别本身(例如 [0,1,2,3,4,5] 值 0 是最高细节的 LOD,值 5 是最低细节的 LOD),而值表示属于该级别的行数(在条件表中)。getAnimatedMapInputIndices()
用于索引输入值数组的输入索引。getAnimatedMapOutputIndices()
指定计算输出值位置的输出索引。getAnimatedMapFromValues()
用于决定是否应评估特定条目的过滤值(下限)。getAnimatedMapToValues()
用于决定是否应评估特定条目的过滤值(上限)。getAnimatedMapSlopeValues()
用于计算输出值的计算值(斜率/梯度)。getAnimatedMapCutValues()
用于计算输出值的计算值(垂直截距)。
GeometryReader
包含与骨骼相关的几何数据的只读访问器。
getVertexPositionCount(meshIndex)
整个网格中顶点位置的数量。getVertexPosition(meshIndex, vertexIndex)
指定网格中指定顶点的位置。顶点按顶点 ID 排序。getVertexPositionXs(meshIndex)
引用网格的所有顶点位置 X 值列表。getVertexPositionYs(meshIndex)
引用网格的所有顶点位置 Y 值列表。getVertexPositionZs(meshIndex)
引用网格的所有顶点位置 Z 值列表。getVertexTextureCoordinateCount(meshIndex)
整个网格中纹理坐标的数量。getVertexTextureCoordinate(meshIndex, textureCoordinateIndex)
指定网格中指定索引的纹理坐标。getVertexTextureCoordinateUs(meshIndex)
引用网格的所有纹理坐标 U 值列表。getVertexTextureCoordinateVs(meshIndex)
引用网格的所有纹理坐标 V 值列表。getVertexNormalCount(meshIndex)
整个网格中顶点法线的数量。getVertexNormal(meshIndex, normalIndex)
指定网格中指定索引的顶点法线。getVertexNormalXs(meshIndex)
引用网格的所有法线 X 值列表。getVertexNormalYs(meshIndex)
引用网格的所有法线 Y 值列表。getVertexNormalZs(meshIndex)
引用网格的所有法线 Z 值列表。getVertexLayoutCount(meshIndex)
整个网格中顶点布局的数量。顶点布局是顶点属性的集合。getVertexLayout(meshIndex, layoutIndex)
顶点布局仅包含可用于查询与顶点关联的实际属性(如位置、纹理坐标和法线)的属性索引。布局中的索引可与上述定义的 API 一起使用。getVertexLayoutPositionIndices(meshIndex)
引用网格中每个顶点的位置索引。getVertexLayoutTextureCoordinateIndices(meshIndex)
引用网格中每个顶点的纹理坐标索引。getVertexLayoutNormalIndices(meshIndex)
引用网格中每个顶点的法线索引。getFaceCount(meshIndex)
指定网格所包含的面的数量。getFaceVertexLayoutIndices(meshIndex, faceIndex)
属于指定网格上某个面的顶点布局索引列表。getMaximumInfluencePerVertex(meshIndex)
可能影响任何单个顶点的最大关节数量。getSkinWeightsCount(meshIndex)
与指定网格关联的蒙皮权重数量。getSkinWeightsValues(meshIndex, vertexIndex)
影响请求顶点的蒙皮权重列表。getSkinWeightsJointIndices(meshIndex, vertexIndex)
与指定顶点的每个蒙皮权重关联的关节索引列表。关节索引的存储顺序与其关联的权重相同。getBlendShapeTargetCount(meshIndex)
属于指定网格的变形目标数量。getBlendShapeChannelIndex(meshIndex, blendShapeTargetIndex)
请求的变形目标对应的变形通道索引。getBlendShapeTargetDeltaCount(meshIndex, blendShapeTargetIndex)
属于指定变形目标的增量数量。getBlendShapeTargetDelta(meshIndex, blendShapeTargetIndex, deltaIndex)
每个受影响顶点的增量列表。getBlendShapeTargetDeltaXs(meshIndex, blendShapeTargetIndex)
引用变形目标的所有增量 X 值列表。getBlendShapeTargetDeltaYs(meshIndex, blendShapeTargetIndex)
引用变形目标的所有增量 Y 值列表。getBlendShapeTargetDeltaZs(meshIndex, blendShapeTargetIndex)
引用变形目标的所有增量 Z 值列表。getBlendShapeTargetVertexIndices(meshIndex, blendShapeTargetIndex)
受引用变形目标影响的顶点位置索引。顶点位置索引的存储顺序与其关联的增量相同。这些索引可以通过 getVertexPosition 用于查询关联的顶点本身。
Writer methods
DescriptorWriter
包含用于访问角色和骨骼各种元数据的只写访问器。
setName(name)
Sets character name.setArchetype(archetype)
Sets character archetype.setGender(gender)
Sets character gender.setAge(age)
Sets character age.setTranslationUnit(unit)
Sets translation unit (cm or m).setRotationUnit(unit)
Sets rotation unit (degrees or radians).setCoordinateSystem(system)
Sets coordinate system (directions of the axes).setLODCount(lodCount)
Sets available levels of detail (e.g. 6 which means the following levels are available: [0,1,2,3,4,5], where 0 is the LOD with the highest details, and 5 is the LOD with lowest details).setDBMaxLOD(lod)
Sets the maximum level of detail stored in the DNA data for this character.setDBComplexity(name)
Sets name of the input control interface used to drive this character rig.setDBName(name)
Sets name of the database from which the character originates.
DefinitionWriter
包含用于表示骨骼静态数据的 DNA 属性的只写访问器。
clearGUIControlNames()
删除所有存储的 GUI 控制器名称。setGUIControlName(index, name)
设置指定 GUI 控制器的名称。clearRawControlNames()
删除所有存储的原始控制器名称。setRawControlName(index, name)
设置指定原始控制器的名称。clearJointNames()
删除所有存储的关节名称。setJointName(index, name)
设置指定关节的名称。clearJointIndices()
删除所有存储的关节索引。setJointIndices(index, jointIndices, count)
将关节索引列表存储到指定索引。该索引表示整个关节索引列表的位置,而不是其单个元素的位置,即关节索引 2D 矩阵中的行索引。clearLODJointMappings()
删除所有存储的 LOD 到关节列表索引的映射条目。setLODJointMapping(lod, index)
设置哪些关节属于哪个细节级别。clearBlendShapeChannelNames()
删除所有存储的变形通道名称。setBlendShapeChannelName(index, name)
设置指定变形通道的名称。clearBlendShapeChannelIndices()
删除所有存储的变形通道索引。setBlendShapeChannelIndices(index, blendShapeChannelIndices, count)
将变形通道名称索引列表存储到指定索引。该索引表示整个变形通道索引列表的位置,而不是其单个元素的位置,即变形通道索引 2D 矩阵中的行索引。clearLODBlendShapeChannelMappings()
删除所有存储的 LOD 到变形通道列表索引的映射条目。setLODBlendShapeChannelMapping(lod, index)
设置哪些变形通道属于哪个细节级别。clearAnimatedMapNames()
删除所有存储的动画贴图名称。setAnimatedMapName(index, name)
设置指定动画贴图的名称。clearAnimatedMapIndices()
删除所有存储的动画贴图索引。setAnimatedMapIndices(index, animatedMapIndices, count)
将动画贴图名称索引列表存储到指定索引。该索引表示整个动画贴图索引列表的位置,而不是其单个元素的位置,即动画贴图索引 2D 矩阵中的行索引。clearLODAnimatedMapMappings()
删除所有存储的 LOD 到动画贴图列表索引的映射条目。setLODAnimatedMapMapping(lod, index)
设置哪些动画贴图属于哪个细节级别。clearMeshNames()
删除所有存储的网格名称。setMeshName(index, name)
设置指定网格的名称。clearMeshIndices()
删除所有存储的网格索引。setMeshIndices(index, meshIndices, count)
将网格名称索引列表存储到指定索引。该索引表示整个网格索引列表的位置,而不是其单个元素的位置,即网格索引 2D 矩阵中的行索引。clearLODMeshMappings()
删除所有存储的 LOD 到网格列表索引的映射条目。setLODMeshMapping(lod, index)
设置哪些网格属于哪个细节级别。clearMeshBlendShapeChannelMappings()
删除所有存储的网格到变形通道的映射条目。setMeshBlendShapeChannelMapping(index, meshIndex, blendShapeChannelIndex)
将变形通道与其网格关联。setJointHierarchy(jointIndices, count)
设置描述关节之间父子关系的简单数组。 示例: 关节名称: [A, B, C, D, E, F, G, H] 层级结构: [0, 0, 0, 1, 1, 4, 2, 2] 描述了以下层级结构:A ├── B │ ├── D │ └── E │ └── F └── C ├── G └── H
setNeutralJointTranslations(translations, count)
设置绑定姿态下关节的平移值。setNeutralJointRotations(rotations, count)
设置绑定姿态下关节的旋转值。
BehaviorWriter
包含用于定义骨骼评估的 DNA 属性的只写访问器。
setGUIToRawInputIndices(inputIndices, count)
设置用于将 GUI 映射到原始控制器的输入索引。setGUIToRawOutputIndices(outputIndices, count)
设置用于将 GUI 映射到原始控制器的输出索引。setGUIToRawFromValues(fromValues, count)
设置在 GUI 到原始控制器映射期间用于决定是否应评估特定条目的过滤值(下限)。setGUIToRawToValues(toValues, count)
设置在 GUI 到原始控制器映射期间用于决定是否应评估特定条目的过滤值(上限)。setGUIToRawSlopeValues(slopeValues, count)
设置在 GUI 到原始控制器映射期间用于计算输出值的计算值(斜率/梯度)。setGUIToRawCutValues(cutValues, count)
设置在 GUI 到原始控制器映射期间用于计算输出值的计算值(垂直截距)。setPSDCount(count)
设置不同 PSD 表情的数量。setPSDRowIndices(rowIndices, count)
设置将成为 PSD 矩阵行的 PSD(输入)索引。setPSDColumnIndices(columnIndices, count)
设置将成为 PSD 矩阵列的控制器(输入)索引。setPSDValues(weights, count)
设置与每个 PSD 行和列对相关联的权重。setJointRowCount(rowCount)
设置完整未压缩关节矩阵中的行数。setJointColumnCount(columnCount)
设置完整未压缩关节矩阵中的列数。clearJointGroups()
删除所有关节组。deleteJointGroup(jointGroupIndex)
删除指定的关节组。setJointGroupLODs(jointGroupIndex, lods, count)
设置指定关节组中每个细节级别的行数。 每个元素的位置代表级别本身,而值表示属于该级别的关节组内的行数。例如:[12, 9, 3] │ │ └── LOD-2 包含前 3 行 │ └── LOD-1 包含前 9 行 └── LOD-0 包含前 12 行
setJointGroupInputIndices(jointGroupIndex, inputIndices, count)
设置指定关节组包含的列索引。这些列索引指向完整的未压缩关节矩阵。setJointGroupOutputIndices(jointGroupIndex, outputIndices, count)
设置指定关节组包含的行索引。这些行索引指向完整的未压缩关节矩阵。setJointGroupValues(jointGroupIndex, values, count)
设置指定关节组包含的值。setJointGroupJointIndices(jointGroupIndex, jointIndices, count)
设置指定关节组包含的关节索引。setBlendShapeChannelLODs(lods, count)
设置变形通道每个细节级别的输入索引数量。 每个元素的位置代表级别本身(例如 [0,1,2,3,4,5] 值 0 是最高细节的 LOD,值 5 是最低细节的 LOD),而值表示属于该级别的输入索引数量。setBlendShapeChannelInputIndices(inputIndices, count)
设置用于索引输入向量的输入索引。setBlendShapeChannelOutputIndices(outputIndices, count)
设置指定变形通道输出值位置的输出索引。setAnimatedMapLODs(lods, count)
设置动画贴图每个细节级别的行数。 每个元素的位置代表级别本身(例如 [0,1,2,3,4,5] 值 0 是最高细节的 LOD,值 5 是最低细节的 LOD),而值表示属于该级别的行数(在条件表中)。setAnimatedMapInputIndices(inputIndices, count)
设置用于索引输入值数组的输入索引。setAnimatedMapOutputIndices(outputIndices, count)
设置指定计算输出值位置的输出索引。setAnimatedMapFromValues(fromValues, count)
设置用于决定是否应评估特定条目的过滤值(下限)。setAnimatedMapToValues(toValues, count)
设置用于决定是否应评估特定条目的过滤值(上限)。setAnimatedMapSlopeValues(slopeValues, count)
设置用于计算输出值的计算值(斜率/梯度)。setAnimatedMapCutValues(cutValues, count)
设置用于计算输出值的计算值(垂直截距)。
GeometryWriter
包含与骨骼相关的几何数据的只写访问器。
clearMeshes()
删除所有网格。deleteMesh(meshIndex)
删除指定的网格。setVertexPositions(meshIndex, positions, count)
设置顶点位置。setVertexTextureCoordinates(meshIndex, textureCoordinates, count)
设置顶点纹理坐标。setVertexNormals(meshIndex, normals, count)
设置顶点法线。setVertexLayouts(meshIndex, layouts, count)
设置属于指定网格的顶点布局。clearFaceVertexLayoutIndices(meshIndex)
删除指定网格的所有顶点布局索引列表。setFaceVertexLayoutIndices(meshIndex, faceIndex, layoutIndices, count)
设置属于指定面的顶点布局索引。布局索引指向通过 setVertexLayouts() 设置的数组。setMaximumInfluencePerVertex(meshIndex, maxInfluenceCount)
设置可能影响任何单个顶点的最大关节数量。clearSkinWeights(meshIndex)
删除指定网格的所有蒙皮权重。setSkinWeightsValues(meshIndex, vertexIndex, weights, count)
设置影响引用顶点的蒙皮权重。权重总和必须等于 1。setSkinWeightsJointIndices(meshIndex, vertexIndex, jointIndices, count)
设置与指定顶点的每个蒙皮权重关联的关节索引。关节索引必须按与其关联的权重相同的顺序存储。clearBlendShapeTargets(meshIndex)
删除指定网格的所有变形目标。setBlendShapeChannelIndex(meshIndex, blendShapeTargetIndex, blendShapeChannelIndex)
设置指定变形目标对应的变形通道索引。将网格本地变形目标索引与定义层中的绝对变形通道索引关联。setBlendShapeTargetDeltas(meshIndex, blendShapeTargetIndex, deltas, count)
设置每个受影响顶点的增量。setBlendShapeTargetVertexIndices(meshIndex, blendShapeTargetIndex, vertexIndices, count)
设置受指定变形目标影响的顶点位置索引。顶点位置索引必须按与其关联的增量相同的顺序存储。