Как я могу остановить videoNode, когда обнаруженное изображение выходит из поля зрения в AR? - PullRequest
0 голосов
/ 07 апреля 2019

Я играю видео, когда изображение обнаруживается в газете, однако, даже если изображение больше не доступно, видео продолжает работать.

func renderer(_ renderer: SCNSceneRenderer, didUpdate node: SCNNode, for anchor: ARAnchor) {
    videoNode.pause()
} // i tried this function but it stops as soon as it moves

Это то, чем я сейчас занимаюсь

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

    if let imageAnchor = anchor as? ARImageAnchor {

        let videoNode = SKVideoNode(fileNamed: "HarryPotterVideo.mp4")



        videoNode.play()

        let videoScene = SKScene(size: CGSize(width: 480, height: 360))

        videoNode.position = CGPoint(x: videoScene.size.width/2, y: videoScene.size.height/2)
        videoNode.yScale = -1.0
        videoScene.addChild(videoNode)

        let plane = SCNPlane(width: imageAnchor.referenceImage.physicalSize.width, height: imageAnchor.referenceImage.physicalSize.height)


        plane.firstMaterial?.diffuse.contents = videoScene

        let planeNode = SCNNode(geometry: plane)
        planeNode.eulerAngles.x = -.pi/2

        node.addChildNode(planeNode)

        if(videoScene.view?.scene?.isHidden == true) {
            print("Out of view")
        }


    }

    return node
}

Теперь я пытаюсь сделать паузу на isHidden на scene, но она тоже не работает

...