ios - 如何在 ModelIO MDLMesh 和 SceneKit SCNGeometry 之间来回转换?

标签 ios objective-c swift scenekit modelio

Apple 最近发布了 Model I/O Framework,可以理解的是,文档目前为 quite sparse许多类(class)仍未完全记录。 Model I/O talk建议在 SceneKit 类和 Model I/O 类之间建立双向链接,但我在实践中找不到实现此目的的方法。

SCNGeometry 有一个convenience init,它接受 MDLMesh 对象,但我不知道如何采取其他方式并生成一个来自预先存在的 SCNGeometryMDLMesh 对象。

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 到 Model I/O 桥接器并未出现在第一个测试版中,但应该会在今年夏天晚些时候出现在另一个测试版中。

关于ios - 如何在 ModelIO MDLMesh 和 SceneKit SCNGeometry 之间来回转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30762113/

相关文章:

java - aes 加密 - 内容大小不是 16 字节的倍数

objective-c - 是否可以获取 UIButton 的当前背景颜色?

ios - Objective-C 中用于 XML POST 的 Rest API

iphone - 联系后尝试隐藏节点

swift : Sorting three arrays based on a particular array

ios - 将 Int 附加到 [Int] 类型的集合会产生 'not identical' 错误

ios - 如何通过单击键盘上的返回按钮来浏览 SwiftUI TextFields?

objective-c - Siri 听写绕过 UITextView :shouldChangeTextInRange Delegate

ios - 如何在spritekit中录制游戏场景

ios - CocoaPods 生成无效的项目文件(找不到 header )