gpt4 book ai didi

ios - 将图形放在额头 ARFaceGeometry 顶点

转载 作者:行者123 更新时间:2023-11-28 23:51:25 27 4
gpt4 key购买 nike

我正在尝试找到引用 ARFaceGeometry 网格索引的方法为了使用 ARKit 将图形放置在面部的特定部位。

我见过很多例子,其中功能与一些索引号,但我找不到对此列表的任何引用。它似乎有超过1200个地点。一个教程使用索引 1064 作为左侧眼睛。这些数字的来源是什么?这似乎是不好的做法引用一个硬性数字 - 如果 Apple 增加更多会怎样?

仅举个例子,假设我制作了一个纹身图片并想将其附加到用户的额头。如何找到引用?

我可以像这样在 Nose 上粘贴图形 - 但同样,我找不到编号列表顶点 - 我盲目地使用了某人提到的数字。

func updateFeatures(for node : SCNNode, using anchor : ARFaceAnchor) {

let child = node.childNode(withName: "myNose", recursively: false) as? MyGraphicNode
let vertices = [anchor.geometry.vertices[9]]
child?.updatePosition(for: vertices)

}

任何指导将不胜感激。Xcode 10 beta 6,iPhoneX

最佳答案

虽然到目前为止,ARFaceGeometry 网格在所有 iOS 11.x 版本和 iOS 12 测试版中都保持稳定——并且它至少保证在 session 中保持地形稳定——没有人说是否或者当 Apple 可能会更改网格时(例如,有更多的顶点)。并且没有用于语义标记顶点的 API。

因此,正如您所怀疑的那样,如果您弄清楚通过反复试验为该点创建相应的顶点索引,但很难知道该索引在未来的 iOS 构建、 future 的硬件等中是否仍然有意义。

但是,您说的是“纹身图形”,这听起来像是 2D 艺术 Assets ——您想要的视觉效果可能不是将平面固定到 3D 面上,而是让您的 2D 艺术看起来像打印出来的一样在皮肤上。在那种情况下,您根本不想处理顶点。只需将纹理图像应用于几何体/ Material ——与网格拓扑不同,更容易想象纹理映射坐标在不同版本中保持相同,因为几何体可以改变而纹理保持不变。可能需要反复试验才能找到纹理图像的哪些区域适用于面部的哪些区域,但一旦找到结果,您就可以无限期地重复使用它。

关于ios - 将图形放在额头 ARFaceGeometry 顶点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51978281/

27 4 0