我正在研究ARKit,这是我的开始。我添加了3D模型以显示在我的ARSCNView上。我正在关注本教程:https://www.appcoda.com/arkit-3d-object/
我使用的是本教程中可用的相同汽车型号。当我将场景节点添加到rootNode时。模型的位置不合适。
我的代码如下:
@IBOutlet weak var sceneView: ARSCNView!
func addCar(x: Float = 0, y: Float = 0, z: Float = -0.5) {
// Safely initialize car.dae scene
guard let carScene = SCNScene(named: "car.dae") else { return }
// Initialize a SCNNode object for the car node
let carNode = SCNNode()
let carSceneChildNodes = carScene.rootNode.childNodes
carSceneChildNodes.forEach { carNode.addChildNode($0) }
carNode.position = SCNVector3(x, y, z)
carNode.scale = SCNVector3(0.5, 0.5, 0.5)
sceneView.scene.rootNode.addChildNode(carNode)
}
我想将汽车显示在正确的位置,如以下屏幕截图所示:
预期:
输出:
任何人都可以解释我的错误吗?帮助将不胜感激。
答案 0 :(得分:2)
我遵循了相同的教程,并且工作正常。我认为您已经激怒了3D模型。只需删除当前的 car.dae ,然后从教程的项目启动器中添加一个即可。清除项目,然后再次运行将解决您的问题。