Как показать UICollectionView в ARSCNView в iOS swift? - PullRequest
0 голосов
/ 16 июня 2020

Я пытаюсь реализовать UICollectionView в ARSCNView и горизонтальное направление прокрутки при взаимодействии с пользователем. В представлении коллекции ячейка содержит изображение и название продукта. Можно ли добавить представление коллекции в ARSCNView?

То, что я пробовал до сих пор, это ...

    override func viewDidLoad() {
            super.viewDidLoad()
            augentedRealityView.delegate = self
            augentedRealityView.debugOptions = ARSCNDebugOptions.showFeaturePoints

            let scene = SCNScene()
            augentedRealityView.scene = scene
        }

     override func viewWillAppear(_ animated: Bool) {
            super.viewWillAppear(true)

            let configuration = ARWorldTrackingConfiguration()
            if #available(iOS 11.3, *) {
                configuration.planeDetection = .vertical
            }
            augentedRealityView.session.run(configuration)
        }

    override func viewWillDisappear(_ animated: Bool) {
            super.viewWillDisappear(true)
            augentedRealityView.session.pause()
        }

func renderer(_ renderer: SCNSceneRenderer, didAdd node: SCNNode, for anchor: ARAnchor) {
        DispatchQueue.main.async {
            self.setupCollectionView()
            let collectionPlane = SCNPlane(width: 0.2, height: 0.1)
            let imgMaterial = SCNMaterial()
            imgMaterial.diffuse.contents = self.galleryCollectionView
            collectionPlane.materials = [imgMaterial]

            let collectionNode = SCNNode(geometry: collectionPlane)
            collectionNode.eulerAngles.x = -.pi/2
            collectionNode.runAction(SCNAction.moveBy(x: 0, y: 0, z: 0, duration: 0))

            node.addChildNode(collectionNode)
            self.augentedRealityView.scene.rootNode.addChildNode(node)
        }       
    }

После обнаружения плоскости я вижу CollectionView, содержащий изображения и имена но он не размещается на стене или вертикальной оси в одном положении. Он движется вместе с камерой в ARSCNView.

...