0

我需要在 ARKit 中获取嘴唇和下巴的点,但 ARSCNFaceGeometry 提供了完整的面部网格数据。你能告诉我如何从 faceAnchor.geometry.vertices 中所有可用的顶点中获取仅嘴唇和下巴的点吗?

基本上需要在 ARKit 中的网格上写点,以便我可以找出哪个点与脸部的哪个部分相关联。

任何帮助表示赞赏。

谢谢你 示例图像

4

1 回答 1

0

我能够使用此代码绘制数字

if(drawSphere){
    for index in 0...faceAnchor.geometry.vertices.count{
        let text = SCNText(string: String(index), extrusionDepth: 4)
        let material = SCNMaterial()
        material.diffuse.contents = UIColor.green
        material.specular.contents = UIColor.green
        text.materials = [material]
        let newNode = SCNNode()
        newNode.position =  SCNVector3Make(faceAnchor.geometry.vertices[index].x*1.0,faceAnchor.geometry.vertices[index].y*1.0,faceAnchor.geometry.vertices[index].z)
        newNode.scale = SCNVector3(x:0.00025, y:0.00025, z:0.0001)
        newNode.geometry = text
        node.addChildNode(newNode)
    }
}

如果数字不清楚,您可以将位置的 x 和 y 与某个常数相乘以获得更大的视图。

于 2020-01-20T07:03:15.500 回答