[英]How to import an obj file in Scenekit macOS App
我正在嘗試使用以下代碼從 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 Catalog”來創建 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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.