3D модель шаткая с ARKit в Xcode - PullRequest
0 голосов
/ 25 ноября 2018

Я использую обнаружение изображений ARKits для размещения 3D-объекта при обнаружении определенного изображения.Все работает отлично, за исключением создаваемой 3D-модели.Трясется, как сумасшедший.Я дважды проверил, и контрольное изображение имеет правильные размеры.

Я звоню addModel() при обнаружении изображения.Вот как выглядит мой код.

Поиск ссылки Изображение:

func renderer(_ renderer: SCNSceneRenderer, nodeFor anchor: ARAnchor) -> SCNNode? {
    let node = SCNNode()

    if let imageAnchor = anchor as? ARImageAnchor{
        let plane = SCNPlane(width: imageAnchor.referenceImage.physicalSize.width, height: imageAnchor.referenceImage.physicalSize.height)

        let planeNode = SCNNode(geometry: plane)

        addModel(addTo: planeNode)
        node.addChildNode(planeNode)
    }
    return node
}

Функции addModel() выглядят так:

func addModel(addTo: SCNNode){
    let testScene = SCNScene(named: "art.scnassets/testModel.scn")

    let testNode = testScene?.rootNode.childNode(withName: "test", recursively: true)
    let testMaterial = SCNMaterial()
    testMaterial.diffuse.contents = UIImage(named: "art.scnassets/bricks")

    testNode?.geometry?.materials = [testMaterial]

    testNode!.position = SCNVector3Zero
    testNode!.position.x = -0.3
    testNode!.position.z = 0.3

    addTo.addChildNode(testNode!)
}
...