[英]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.