SceneKit - установка положения SCNPlane приклеивает его к камере - PullRequest
0 голосов
/ 29 июня 2018

Я хочу создать несколько SCNPlanes, чтобы расположить их подобно экрану в клиенте AR Twitter, приложении TweetReality. https://cdn0.tnwcdn.com/wp-content/blogs.dir/1/files/2017/12/tweet-reality-796x419.png.

Я использую SceneKit, так как в моем приложении также есть 3D-модели.

-Для отображения этих SCNPlanes я должен создать ARAnchors для каждого или просто создать узел и расположить его напрямую?

-Если лучше всего создавать ARAnchors, как мне их создавать, не касаясь экрана пользователем? Получить текущий кадр сеанса и расположить его?

Я использую этот код для размещения SCNPlane, однако он приклеивается к камере напрямую, тогда как, если я использую геометрию SCNSphere или отличаюсь от ее расположения соответствующим образом.

    let plane = SCNPlane(width: 1, height: 1)
    plane.firstMaterial?.diffuse.contents = UIImage(named: "bubbleBlue")
    plane.firstMaterial?.isDoubleSided = true
    let sceneNode = SCNNode(geometry: plane)
    sceneNode.position = SCNVector3Make(0, 0, -2)
    sceneView.scene.rootNode.addChildNode(sceneNode)

с предыдущим кодом, который он склеивает, с соответствующим размещением следующего:

    let sphere = SCNSphere(radius: 1)
    sphere.firstMaterial?.diffuse.contents = UIImage(named: "bubbleBlue")
    let sceneNode = SCNNode(geometry: sphere)
    sceneNode.position = SCNVector3Make(0, 0, -2)
    sceneView.scene.rootNode.addChildNode(sceneNode)

Я использую ARWorldTrackingConfiguration, iPhone 6s.

Спасибо за помощь

...