ARKit - SceneView Показать неправильную позицию 3D-модель - PullRequest
0 голосов
/ 03 января 2019

Я работаю над 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 голосов
/ 03 января 2019

Я следовал тому же учебнику, и он работает нормально.Я думаю, что вы раздражали свою 3D модель.Просто удалите ваш текущий car.dae и добавьте новый из стартового проекта урока.Очистите проект и запустите снова, чтобы решить вашу проблему.

...