WWDC2019 - 604: ARCoachingOverlayView

每天看一集WWDC视频,除了SwiftUI和Combine,我最感兴趣的就是ARKit和图片相关的更新了。今天先看一下ARCoachingOverlayView

用过ARKit的朋友都知道,大多数AR应用使用的前提都是需要识别出平面,而找为了识别出平面用户需要移动iPhone。我们作为开发知道怎么操作,但是用户不知道,我们需要提供给用户引导(On-boarding)。

iOS 13的ARKit 3提供了官方的解决方案-ARCoachingOverlayView

使用ARCoachingOverlayView可以自动根据session的情况显示和隐藏引导界面,而且可以和其他应用一致,减少用户的学习障碍。

接下来看一下如何使用它。

let coachingOverlay = ARCoachingOverlayView()
coachingOverlay.session = arView.session
coachingOverlay.delegate = self
arView.addSubview(coachingOverlay)

将coaching overlay的ARSession绑定到AR view的ARSession。通常我们会把coaching overlay作为AR view的子view,并覆盖在它上面。它只是个UIView,所以也可以根据需求加入到其他视图。

ARCoachingOverlayViewDelegate提供了三个回调方法:

func coachingOverlayViewWillActivate(_ coachingOverlayView: ARCoachingOverlayView)
func coachingOverlayViewDidDeactivate(_ coachingOverlayView: ARCoachingOverlayView)
func coachingOverlayViewDidRequestSessionReset(_ coachingOverlayView: ARCoachingOverlayView)
top Created with Sketch.