【问题标题】:Detect SCNNode with camera only仅用摄像头检测 SCNNode
【发布时间】:2018-05-31 10:47:22
【问题描述】:

假设我在屏幕中间画了一个圆圈,将其用作目标。如果我将这个圆圈指向一个节点,ARKit 怎么可能检测到它?

目前我使用的是 Tap 方法

 @IBAction func tapHandler(_ sender: UITapGestureRecognizer) {
    let viewTouchLocation:CGPoint = sender.location(in: sceneView)
    guard let result = sceneView.hitTest(viewTouchLocation, options: nil).first else {
        return
    }
    // ...etc
}

效果非常好,但仅通过将相机对准节点来检测节点会好得多。

【问题讨论】:

    标签: swift scenekit augmented-reality arkit


    【解决方案1】:
    let screenRect = UIScreen.main.bounds
    let screenWidth = screenRect.size.width
    let screenHeight = screenRect.size.height
    
    let location = CGPoint(x:screenWidth/2,y:screenHeight/2)
    

    在 hittest 中使用位置

    【讨论】:

    • 好的,所以我只需要在每次相机移动时触发 hitTest 即可。知道可能是哪个事件吗?
    • func renderer(_ renderer: SCNSceneRenderer, updateAtTime time: TimeInterval) 。每帧都会调用它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-08
    • 2013-01-02
    • 2014-07-13
    • 2016-12-28
    • 1970-01-01
    相关资源
    最近更新 更多