ARSKView Исчезает - PullRequest
       1

ARSKView Исчезает

0 голосов
/ 27 мая 2020
import UIKit
import SpriteKit
import ARKit

struct ImageInformation {
    let name: String
    let description: String
    let image: UIImage
}
class ViewController: UIViewController, ARSKViewDelegate {


    @IBOutlet var sceneView: ARSKView!
    var selectedImage: ImageInformation?

    let images = ["VeganMilk": ImageInformation(name: "VeganMilk", description: "HealthyOption", image: UIImage(named: "VeganMilk") ?? UIImage())]

    override func viewDidLoad() {
        super.viewDidLoad()

        // Set the view's delegate
        sceneView.delegate = self

        // Show statistics such as fps and node count
        sceneView.showsFPS = true
        sceneView.showsNodeCount = true

        // Load the SKScene from 'Scene.sks'
        if let scene = SKScene(fileNamed: "Scene") {
            sceneView.presentScene(scene)
        }
        func viewWillAppear(_ animated: Bool){
        super.viewWillAppear(animated)

             guard let referenceImage = ARReferenceImage.referenceImages(inGroupNamed: "milk", bundle: nil)
                else {
                    fatalError("Missing expected catalog resources")
            }
            let configuration = ARWorldTrackingConfiguration()
            configuration.detectionImages = referenceImage
            sceneView.session.run(configuration, options: [.resetTracking, .removeExistingAnchors])
            sceneView.session.run(configuration)
        }
        func viewWillDisappear(_ animated: Bool){
            super.viewWillDisappear(animated)
            sceneView.session.pause()
        }

        func view(_ view: ARSKView, nodeFor anchor: ARAnchor) -> SKNode? {
            if let imageAnchor = anchor as? ARImageAnchor,
            let referenceImageName = imageAnchor.referenceImage.name,
                let scannedImage =  self.images[referenceImageName] {
                self.selectedImage = scannedImage

                self.performSegue(withIdentifier: "showImageInformation", sender: self)

                return imageSeenMarker()
            }
            return nil
        }
     func imageSeenMarker() -> SKLabelNode {
            let labelNode = SKLabelNode(text: "✅")
            labelNode.horizontalAlignmentMode = .center
            labelNode.verticalAlignmentMode = .center

            return labelNode
        }
        func session(_ session: ARSession, didFailWithError error: Error) {
               // Present an error message to the user

           }

           func sessionWasInterrupted(_ session: ARSession) {
               // Inform the user that the session has been interrupted, for example, by presenting an overlay

           }

           func sessionInterruptionEnded(_ session: ARSession) {
               // Reset tracking and/or remove existing anchors if consistent tracking is required

           }      
    }
}

Это приложение для практики, которое я нашел на inte rnet, и я пытался запустить его, чтобы камера работала, но ничего не выходит. Я снова начал проверять, будет ли камера работать, но после того, как я добавил код, функция камеры исчезла. Не знаю, почему я просмотрел так много источников, и ничего не помогло.

...