ios - ARKIT 根据物理对象改变节点位置

标签 ios swift arkit

我正在尝试相对于面部移动节点,因此如果用户面部向右移动,菱形应该向右移动完全相同的 x。我使用 ARFaceTrackingConfiguration 完美地完成了它。但是,如果 iPhone 与面部之间的距离很大,则渲染器委托(delegate)方法将不再触发。

所以我猜 ARFaceTrackingConfiguration 不适合远距离使用,因为它使用显然不支持的深度传感器。

所以我的问题是,ARKit 是否支持添加相对于物理对象的节点,当这个对象移动时,它会用这个对象的位置更新我,以便我可以更新节点?

最佳答案

你似乎已经回答了你自己的问题。

是的,使用 ARKit(以及您选择的场景图/渲染器 API,例如 SceneKit),您可以放置​​虚拟内容,使其随跟踪的面部一起移动。在 ARSCNView 中,您需要做的就是将该内容分配为您从 renderer(_:didAdd:for:) 获得的节点的子节点——SceneKit 会自动处理每当 ARKit 报告面部已移动时移动节点。

如果 ARKit 无法跟踪人脸,因为它超出了 TrueDepth 相机的可用范围……那么它就不会跟踪人脸。 (欢迎来到 tautology club。)这意味着它不知道脸部在哪里,无法告诉您脸部如何移动,因此无法自动移动虚拟内容以跟随脸部。

关于ios - ARKIT 根据物理对象改变节点位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50043196/

相关文章:

ios - SCNNode 方向而不是 eulerAngles

ios - 如何围绕 ARSCNFaceGeometry 网格绘制自定义边界

嵌入 UISplitViewController 时,UINavigationBar 中缺少 iOS11 UISearchBar

ios - Xcode 7 Beta 5 - Storyboard 中缺少所有 subview

macos - 退出 xcode cocoa swift 应用程序

ios - 从 MPRemoteCommandCenter 丢失 "Now Playing"状态

iphone - 如何创建可以在软件中动态着色的艺术资源?

ios - NumberFormatter 无法使用 Xcode 15.0 beta 正确识别 iOS 17 beta 中的区域设置货币设置

Swift:Facebook Graph API 不接受有效的 access_token

ios - 带有 ARSCNView 的 UIViewController 在显示在屏幕上之前需要花费大量时间