我需要一些帮助来使用新的 apple ARKit 放置 3D 模型。是否可以放置类型为 OBJ
的对象?我正在尝试放置头骨的 3d 模型。
//Load the OBJ file
let bundle = Bundle.main
guard let url = bundle.url(forResource: "Cranial", withExtension: "obj") 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 scene = SCNScene()
let nodeCranial = SCNNode.init(mdlObject: object)
nodeCranial.simdPosition = float3(0, 0, 0.5)
sceneView.scene.rootNode.addChildNode(nodeCranial)
我不知道为什么没有出现在镜头前。如果我使用以下行而不是上面的 nodeCranial,它会起作用:
let cubeNode = SCNNode(geometry: SCNBox(width: 0.1, height: 0.1, length: 0.1, chamferRadius: 0))
为什么它对 OBJ
文件也不起作用?上面的代码在 func viewDidLoad()
中。
最佳答案
let tempScene = SCNScene(named: "art.scnassets/cat/cat.obj")!
modelNode = tempScene.rootNode
modelNode.simdPosition = float3(0, 0, 0.5)
sceneView.scene.rootNode.addChildNode(modelNode)
您可以像这样加载 .obj、.scn 或 .dae 文件。
关于ios - 如何使用 ARKit 放置 OBJ 类型的 3D 模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45143887/