gpt4 book ai didi

swift - 如何在 Scenekit macOS App 中导入 obj 文件

转载 作者:行者123 更新时间:2023-11-28 05:53:01 26 4
gpt4 key购买 nike

我正在尝试使用以下代码从 macOS 应用程序(非 iOS)上的本地驱动器将 .obj 文件读入 SCNNode:

let url = NSURL(string: objPath!)
let asset = MDLAsset(url: url! as URL)

let node = SCNNode(mdlObject: asset.object(at: 0))
node.geometry?.firstMaterial?.diffuse.contents = NSColor.red

scnView.scene?.rootNode.addChildNode(node)

objPath 是本地文件夹(不在应用程序内部)的正确和绝对路径。但它在读取时出现“无法打开 OBJ 文件”错误。我只需要访问本地路径。

最佳答案

这应该让您在 swift/xcode 10.2+ 中加载 obj/dae 文件:

通过转到文件 --> 新建 --> 文件并从列表中选择“SceneKit 目录”来创建场景包模型目录。

import SceneKit.ModelIO

然后:

guard let url = Bundle.main.url(forResource: "your_obj_filename", withExtension: "obj", subdirectory: "your_folder.scnassets") 
else { fatalError("Failed to find model file.") }

let asset = MDLAsset(url:url)
guard let object = asset.object(at: 0) as? MDLMesh
else { fatalError("Failed to get mesh from asset.") }

let newNode = SCNNode(mdlObject: object)

关于swift - 如何在 Scenekit macOS App 中导入 obj 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52217228/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com