用于在 ARKit 中获取 2D 图像坐标的 ProjectPoint

问题描述

我正在尝试从 ARKit/SceneKit 中的 3D 顶点获取 2D 图像坐标。我已阅读 projectPoint document 并使用 projectPoint,CGPoint 获得以下代码:

var currentFaceAnchor: ARFaceAnchor?
func renderer(_ renderer: SCNSceneRenderer,didUpdate node: SCNNode,for anchor: ARAnchor) {
    guard anchor == currentFaceAnchor,let contentNode = selectedContentController.contentNode,contentNode.parent == node
        else { return }
    let vertices = currentFaceAnchor!.geometry.vertices
    for vertex in vertices {
        let projectedPoint = sceneView.projectPoint(node.convertPosition(SCNVector3(vertex),to: nil))

        let xVertex = CGFloat(projectedPoint.x)
        let yVertex = CGFloat(projectedPoint.y)
        if beginSaving == true {
        savedPositions.append(CGPoint(x: xVertex,y: yVertex))
        }
    }

我获得了一些积分:(216.42970275878906,760.9256591796875),(208.1529541015625,761.989501953125),(206.86944580078125,750.0242919921875)...

我找不到关于 2D 图像坐标的太多信息,而且我发现自己无法完全理解这一点。我想知道这些点是否是从 3D 坐标 var vertices: [SIMD3<Float>] 获得的实际 2D 点,如何验证这一点?任何建议和帮助表示赞赏!

谢谢,

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...