Hello, I'm trying to place and play a local video on a detected ARKit image.
Here's a code example which has either the frame drop (camera view freezes for ~ half a second) or the crash:
I was trying to use the prepare method to avoid frame drops (not sure I'm using it correctly) but it crashes with this message:
How can I solve this?
Thanks
Here's a code example which has either the frame drop (camera view freezes for ~ half a second) or the crash:
Code Block swift guard let fileUrlString = Bundle.main.path(forResource: "videoname", ofType: "mp4") else { return } let videoItem = AVPlayerItem(url: URL(fileURLWithPath: fileUrlString)) let videoPlayer = AVPlayer(playerItem: videoItem) let videoNode = SKVideoNode(avPlayer: videoPlayer) let videoScene = SKScene(size: CGSize(width: 1080, height: 1080)) videoScene.addChild(videoNode) let videoPlane = SCNPlane(width: 0.1, height: 0.1) /* CAUSE OF FRAME DROP ON FIRST ADDCHILDNODE */ videoPlane.firstMaterial?.diffuse.contents = videoScene let videoPlaneNode = SCNNode(geometry: self.videoPlane) videoPlaneNode.eulerAngles.x = -Float.pi * 0.5 /* CAUSE OF CRASH IF UNCOMMENTED WITH videoScene AS MATERIAL DIFFUSE CONTENT */ self.sceneView.prepare([videoPlaneNode], completionHandler: { (success) in self.sceneView.scene.rootNode.addChildNode(videoPlaneNode) }) self.sceneView.scene.rootNode.addChildNode(videoPlaneNode)
I was trying to use the prepare method to avoid frame drops (not sure I'm using it correctly) but it crashes with this message:
Code Block swift SceneKit`C3DSceneGetAnimationManager: -> 0x1ac5c36b4 <+0>: ldr x0, [x0, #0x48] 0x1ac5c36b8 <+4>: ret EXC_BAD_ACCESS
How can I solve this?
Thanks