使用SceneKit构建一些大的自定义几何,为了保持尽可能小的数组大小,我给SCNGeometrySource提供了带有(x,y,z)的向量作为short(Int16)整数,如下所示:
let vertexSource = SCNGeometrySource(data: dataContent!,
semantic: SCNGeometrySourceSemanticVertex, vectorCount: 4960,
floatComponents: false, componentsPerVector: 3, bytesPerComponent: 2,
dataOffset: 0, dataStride: 6)
..但是,此数据不可接受,产生错误:
SceneKit: error, C3DMeshSourceGetValueAtIndexAsVector3 - Type not supported
问题:SceneKit支持哪些形式的矢量组件?
写完这个问题之后,我将尝试试用&错误,看看Float32,Int32等的三元组和四元组会发生什么。我知道Float64确实有效,但我不需要超过±2 ^ 15精度,所以为什么要浪费内存?也许有人可以提供明确的答案.. Apple的文档似乎没有这样做。