繁体   English   中英

如何使用按钮打开/关闭ARKit?

[英]How to turn ARKit On/Off with a button?

我正在创建一个简单的功能来在按下时打开/关闭ARkit

func arSwitch() {
    case btnPressed arkit = false
    case btnpressed arkit = true 
}

要么

@IBAction func arBtnpressed(_ sender: Any) {

    if arSwitch.isOn {
         sceneView.scene  = scene
    } else {
         sceneView.scene.stop()// Somehthing like this..
    }  
}

有任何想法吗?

请尝试以下代码段,

@IBAction func arBtnpressed(_ sender:Any){

if arSwitch.isOn {
     let configuration = ARWorldTrackingConfiguration()
     sceneView.session.run(configuration)

} else {
     sceneView.session = nil
}

}

试试这个代码:

import ARKit

class ViewController: UIViewController, ARSCNViewDelegate {

    @IBOutlet var sceneView: ARSCNView!
    @IBOutlet weak var button: UIButton!
    @IBOutlet weak var label: UILabel!
    var count: Int = 1
    let configuration = ARWorldTrackingConfiguration()

    override func viewDidLoad() {
        super.viewDidLoad()
        sceneView.delegate = self      
        label.text = "On"
        let scene = SCNScene(named: "art.scnassets/model.scn")!
        sceneView.scene = scene
    } 
    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        sceneView.session.run(configuration)
    }
    override func viewWillDisappear(_ animated: Bool) {
        super.viewWillDisappear(animated)
        sceneView.session.pause()
    }
    @IBAction func arButtonPressed(_ sender: Any) {
        count += 1

        if count % 2 == 0 {
            sceneView.session.pause()
            label.text = "OFF"
        } else if count % 2 == 1 {
            sceneView.session.run(configuration)
            label.text = "On"
        }
    }
}

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM