使用新苹果ARKit放置3D模型需要一些帮助。是否可以放置OBJ
类型的对象?我正在尝试放置一个头骨的三维模型。
//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文件。