如何从 ModelIO MDLMesh 转换为 SceneKit SCNGeometry 并返回?

How to convert from ModelIO MDLMesh to SceneKit SCNGeometry and back?

Apple 最近宣布了模型 I/O 框架,可以理解的是,文档目前 quite sparse with many classes still not fully documented. The Model I/O talk 建议在 SceneKit 类 和模型 [=38] 之间使用双向 link =] 类,但我在实践中找不到这样做的方法。

SCNGeometry 有一个 convenience init 接受一个 MDLMesh 对象,但我不确定如何从另一个方向生成一个 MDLMesh 对象预先存在 SCNGeometry.

MDLMeshinit 是:

init(vertexBuffer vertexBuffer: MDLMeshBuffer,
     vertexCount vertexCount: Int,
     descriptor descriptor: MDLVertexDescriptor,
     submeshes submeshes: [MDLSubmesh])

或者,或者,相同但使用 vertexBuffers: [MDLMeshBuffer](其中顶点缓冲区对应于 SceneKit 几何源),我不知道从这里去哪里。

(看起来 MDLMeshBuffer 有一个采用 fillData: NSData 参数的方法,我知道 SCNGeometry.geometrySources 给出了一个 SCNGeometrySources 的数组,每个数组都有一个 .data 将这些几何源作为 NSData 对象提供,但我不确定这是否是正确的方法。)

任何指导将不胜感激。

据 WWDC 实验室的工程师称,SceneKit 到模型 I/O 桥接不在第一个测试版中,但应该会在夏季晚些时候出现在另一个测试版中。