我需要在 ARKit 中获取嘴唇和下巴的点,但 ARSCNFaceGeometry 提供了完整的面部网格数据。你能告诉我如何从 faceAnchor.geometry.vertices 中所有可用的顶点中获取仅嘴唇和下巴的点吗?
基本上需要在 ARKit 中的网格上写点,以便我可以找出哪个点与脸部的哪个部分相关联。
任何帮助表示赞赏。
我需要在 ARKit 中获取嘴唇和下巴的点,但 ARSCNFaceGeometry 提供了完整的面部网格数据。你能告诉我如何从 faceAnchor.geometry.vertices 中所有可用的顶点中获取仅嘴唇和下巴的点吗?
基本上需要在 ARKit 中的网格上写点,以便我可以找出哪个点与脸部的哪个部分相关联。
任何帮助表示赞赏。
我能够使用此代码绘制数字
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 与某个常数相乘以获得更大的视图。