0f7f5957f5e8b92da2b174e8641763db
ARKit 调试小技巧

说明

AR 开发中,调试一直是个有点难度的事情,不过好在苹果给我们提供了很多工具,来帮助我们进行 debug,本文做一个简单的总结。

ARKit 自带调试与统计

ARKit 自带了一些 debug 选项,我们只需要打开showWorldOrigin,就能看到 AR 原点的位置和姿态,随时观察 AR 效果是否有偏移和抖动;打开showFeaturePoints就能看到相机捕捉到的特征点。同时,又因为 ARKit 继承于 SceneKit,所以也有很多关于渲染的选项,比如显示物体的边界盒showBoundingBoxes可以帮助我们快速找到一些较小的物体。

scnView.debugOptions =  [showWorldOrigin, showFeaturePoints];

```swift
/** 展示 AR 中的世界坐标原点 / public static let showWorldOrigin: SCNDebugOptions /* 展示检测到的 3D 特征点*/
public static let showFeaturePoints: SCNDebugOptions

public static var showPhysicsShapes: SCNDebugOptions { get } //展示物体的物理形状

public static var showBoundingBoxes: SCNDebugOptions { get } //展示物体的边界盒

public static var showLightInfluences: SCNDebugOptions { get } //展示物体受到灯光的影响

public static var showLightExtents: SCNDebugOptions { get } //展示灯光范围

public static var showPhysicsFields: SCNDebugOptions { get } //展示 SCNPhysicsFields 的力和范围

public static var showWireframe: SCNDebugOptions { get } //展示物体及其线框

public static var renderAsWireframe: SCNDebugOptions { get } //将物体渲染为线框


public static var showSkeletons: SCNDebugOptions { get } //展示骨骼

public static var showCreases: SCNDebugOptions { get } //展示曲面细分

public static var showConstraints: SCNDebugOptions { get } //展示约束

public static var showCameras: SCNDebugOptions { get } //展示相机(在 AR 中无用,因为手机就是相机,手机无法看到自己)
top Created with Sketch.