问题描述
我正在尝试从 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 (将#修改为@)