ARKit-SceneView显示错误的位置3D模型

时间:2019-01-03 11:00:38

标签: ios swift arkit

我正在研究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)
    }

我想将汽车显示在正确的位置,如以下屏幕截图所示:

预期:

ARKit Expected Image

输出:

ARKit Output Image

任何人都可以解释我的错误吗?帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

我遵循了相同的教程,并且工作正常。我认为您已经激怒了3D模型。只需删除当前的 car.dae ,然后从教程的项目启动器中添加一个即可。清除项目,然后再次运行将解决您的问题。