snapshot我正在 ARKit 中使用 SceneKit 运行面部跟踪配置,在每个帧中我可以通过属性或作为缓冲区访问相机源capturedImage,我还能够将每个面部顶点映射到图像坐标空间并添加一些UIView助手( 1点平方)在屏幕上实时显示所有面顶点,如下所示:
func renderer(_ renderer: SCNSceneRenderer, didUpdate node: SCNNode, for anchor: ARAnchor) {
guard let faceGeometry = node.geometry as? ARSCNFaceGeometry,
let anchorFace = anchor as? ARFaceAnchor,
anchorFace.isTracked
else { return }
let vertices = anchorFace.geometry.vertices
for (index, vertex) in vertices.enumerated() {
let vertex = sceneView.projectPoint(node.convertPosition(SCNVector3(vertex), to: nil))
let xVertex = CGFloat(vertex.x)
let yVertex = CGFloat(vertex.y)
let newPosition = CGPoint(x: xVertex, y: yVertex)
// Here i update the position of each UIView …Run Code Online (Sandbox Code Playgroud)