如何使用模型I / O将Wavefront OBJ文件转换为SCNNode

杰森·利奇

我已经从URL导入了Wavefront OBJ文件,现在我想将其插入我的iOS 9应用程序(在Swift中)的场景(SceneKit)中。到目前为止,我所做的是:

let asset = MDLAsset(URL: localFileUrl)
print("count = \(asset.count)")  // 1

将其转换为SCNNode的任何帮助将不胜感激。根据Apple的文档:

模型I / O可以与MetalKit,GLKit和SceneKit框架共享数据缓冲区,以帮助您有效地加载,处理和渲染3D资产。

但是我不确定如何从MDLAsset获取缓冲区到SCNNode。

杰森·利奇

事实证明,这很容易,因为许多ModelIO类已经桥接。我这样做是为了import ModelIO让我能够访问所有ModelIO类,同样import SceneKit,这给了我SceneKit类,但是,我缺少import SceneKit.ModelIO为ModelIO引入SceneKit支持。

let url = NSURL(string: "url-to-your-obj-here")
let asset = MDLAsset(URL: url!)
let object = asset.objectAtIndex(0)
let node = SCNNode(MDLObject: object)

那样简单...

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章