Sar*_*pta 3 macos .obj 3d-model scenekit swift
我正在尝试使用以下代码从 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)
Run Code Online (Sandbox Code Playgroud)
objPath 是本地文件夹的正确且绝对路径(不在应用程序构建内部)。但读取时出现“无法打开 OBJ 文件”错误。我只需要访问本地路径。
这应该让你在 swift/xcode 10.2+ 中加载 obj/dae 文件:
通过转到文件 --> 新建 --> 文件并从列表中选择“SceneKit Catalog”来创建 scenekit 模型目录。
import SceneKit.ModelIO
Run Code Online (Sandbox Code Playgroud)
然后:
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)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3210 次 |
| 最近记录: |