ios - AR Kit 2.0 获取跟踪图像的图像细节?
问题描述
我对 AR Kit 还很陌生,但最近我发现图像跟踪功能非常棒。我发现它很简单:
let referenceImages = ARReferenceImage.referenceImages(inGroupNamed: "AR Resources", bundle: Bundle.main)
let configuration = ARImageTrackingConfiguration()
configuration.trackingImages = referenceImages
configuration.maximumNumberOfTrackedImages = 1
sceneView.session.run(configuration)
效果很好!但是,我想通过识别已跟踪的图像并根据跟踪的图像显示不同的 AR 对象/节点来进一步体验。有没有办法获取有关当前正在跟踪的特定图像的更多信息?
解决方案
在资产目录中的 AR 参考组中,单击参考图像时,可以打开属性检查器并输入“名称”。
然后,此名称会反映在AR 会话开始跟踪该特定图像时创建的锚点的name
属性中。ARImageAnchor
然后在
func renderer(_ renderer: SCNSceneRenderer, nodeFor anchor: ARAnchor) -> SCNNode?
您可以检查锚点并做出相应的响应。例如:
func renderer(_ renderer: SCNSceneRenderer, nodeFor anchor: ARAnchor) -> SCNNode? {
guard let anchor = anchor as? ARImageAnchor else { return nil }
if anchor.name == "calculator" {
print("tracking calculator image")
return SCNNode.makeMySpecialCalculatorNode()
}
return nil
}
推荐阅读
- python-3.x - 返回所选行python的列
- python - 为什么我的不和谐机器人的余额没有正确保存?
- node.js - 我如何在没有硬编码 localhost:8080 的情况下执行 axios api 调用
- python - absl.flags._exceptions.UnparsedFlagAccessError:在解析标志之前尝试访问标志--tiny
- google-apps-script - 谷歌表单,在表单提交时发送的带有附件的电子邮件
- javascript - JavaScript 无法正常工作:删除、调整大小和图像链接
- sql - 如何在 hive 中加入多个表?
- google-apps-script - 如何使自动时间戳添加到特定列中?
- javascript - Quill Js 在我的内容主体中不起作用
- javascript - 为什么这段代码中重要和不重要的按钮会导致 Javascript/JQuery 中的值未定义?