ARCore有像ARKit这样的会话委托方法吗?

问题描述 投票:1回答:1

在ARKit中有一个ARSessionDelegate协议,您可以实现4种主要方法来接收捕获的视频帧图像和AR会话中的跟踪状态。

ARCore API是否具有类似方法的类似协议(接口)?

protocol ARSessionDelegate

override func viewDidLoad() {  
      super.viewDidLoad()
      sceneView.session.delegate = self
}
  1. 此方法向委托提供新捕获的ARCamera映像和附带的AR信息:
func session(ARSession, didUpdate: ARFrame) { ... }
  1. 此方法告知代理已将一个或多个ARAnchors添加到会话中:
func session(ARSession, didAdd: [ARAnchor]) { ... }
  1. 此方法告诉委托ARSession已调整一个或多个ARAnchors的属性:
func session(ARSession, didUpdate: [ARAnchor]) { ... }
  1. 此方法告知代理已从ARSession中删除了一个或多个ARAnchors:
func session(ARSession, didRemove: [ARAnchor]) { ... }

如果在ARCore中存在类似的方法(甚至不是全部),请告诉我他们使用Kotlin代码的样子。

任何帮助赞赏。

augmented-reality arkit arcore
1个回答
1
投票

在浏览了ARCore文档之后,我发现了至少两种类似的方法:

第一:此方法用于接收新的相机帧,更新设备的位置,更新跟踪锚点的位置,更新检测到的平面等。

ArStatus ArSession_update(ArSession *session, ArFrame *out_frame)

第二:此方法定义物理世界中的跟踪位置:

ArStatus ArSession_acquireNewAnchor(ArSession *session, const ArPose *pose, ArAnchor **out_anchor)
© www.soinside.com 2019 - 2024. All rights reserved.