- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个应用程序,其中使用了 ARSession
和 ARFaceTrackingConfiguration
。每当 anchor 在 session(_ session: ARSession, didUpdate anchors: [ARAnchor])
中更新时,我都会保存一份 anchor 的副本。
但是当脸部不再出现在画面中时,应用程序无法知道。因为这个函数不会被调用。
我已经尝试在 session(_ session: ARSession, didRemove anchors: [ARAnchor])
中写一个标志,但是没有被调用,因为当脸不再来自时, anchor 没有被移除的相机。我使用 session 的当前帧 frame.anchors.count
进行了检查。
我在ARSessionDelegate
协议(protocol)中没有发现其他相关函数。当应用程序在调试器中暂停时,我看到当前帧的一个名为 detectedFaces
的私有(private)属性,当您放下手机时它被正确设置为 0。但由于它是私有(private)的,我无法访问它。
最佳答案
ARFaceAnchor
采用 ARTrackable
协议(protocol),其唯一目的是告诉您 anchor 是否由 ARKit 自动更新。 isTracked
如果 anchor 的变换已在当前帧中更新,则属性为 true,否则为 false。
知道当前不再跟踪 anchor 是解决问题的一半——您可能想知道的另一件事是何时。你有几个选择。
保留对您一直使用的面部 anchor 的引用。当您收到类似 session(_ session: ARSession, didUpdate anchors: [ARAnchor])
的委托(delegate)回调时,任何不在更新列表中的 anchor 都可能已过时,您可以检查它们的 isTracked
属性来验证。
订阅每帧更新的“第一个”回调,session(_ session: ARSession, didUpdate frame: ARFrame)
,或检查 session 的currentFrame
,并遍历框架的 anchors
列表以查看哪些 anchor 符合 ARTrackable
但对于 isTracked
报告错误。
关于ios - 如何确定 ARFaceAnchor 是否未在 ARSession 中更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48937788/
当我使用 ARWorldTrackingSessionConfiguration 运行我的 ARSession 时,sceneView.session 属性似乎没有保留配置。这是我的代码 overri
我正在使用 Core Vision 检测 ARKit session 中的文本框,我的问题是在检测到文本框后访问 frame 以执行 HitTest 。 func startTextDetection
如何在 ARSession 期间打开手电筒(手电筒)? 一旦 session 在手电筒关闭的情况下开始,标准代码就不起作用。 初始化 ARSession: let configurat
每次我的应用通过 applicationWillResignActive 上的 session.pause() 后台运行时,我都会暂停 ARKit。 我最近注意到用户的后台电池使用率偶尔会很高,现在偶
我有一个运行 ARSession 的 ARSCNView。您当然可以使用 session.pause() 暂停 session ,但这仍然有效,让 session 继续运行。我已尝试通过将 ARSCN
我有一个 ARSCNView,它可以根据情况偶尔暂停其 session。有没有办法检查它的 session 是否正在运行? 像这样: class myARView: ARSCNView { .
我有一个应用程序,其中使用了 ARSession 和 ARFaceTrackingConfiguration。每当 anchor 在 session(_ session: ARSession, did
我正在开发一个使用 ARKit 和 SceneKit 框架的应用程序。我能够渲染我的 3D 对象,创建叠加层等。我想在我的一个子节点上点击 ARSession 中的叠加层加载 GIF 动画。这可能吗?
我制作了一个使用后置摄像头跟踪 2D body 运动数据的应用程序。我已关注Apple's example从 Storyboard创建 ARView,并在我的 viewDidAppear 中添加此代码
我正在使用 ARSession 结合 ARFaceTrackingConfiguration 来跟踪我的脸。同时,我想从我的 iPhone X 的前置摄像头录制一段视频。为此,我正在使用 AVCapt
ARFaceGeometry 有一个用于混合形状数组的初始化方法,但是如何使用 ARFaceGeometry 顶点数组创建这个对象? 在苹果的 Creating Face-Based AR Exper
我正在尝试在我的应用程序(Tabbed 应用程序)中实现 iOS 11 beta 的 ARKit。但正如ARKit Session Paused and Not Resuming中所说线程,每当我将选
我是一名优秀的程序员,十分优秀!