# 摄像头被遮挡一段时间后再放开，输出的位姿有跳变

#### 现象描述

使用运动跟踪能力时，摄像头被遮挡一段时间后再放开遮挡，调用HMS\_AREngine\_ARPose\_GetPoseRaw函数获取的平移分量或旋转分量存在较大跳变。

#### 可能原因

AR Engine通过摄像头采集数据感知当前设备在现实世界中的位姿，摄像头被遮挡后，AR Engine无法准确感知设备在现实世界的位姿变化，放开遮挡后，如果继续调用HMS\_AREngine\_ARSession\_Update，AR Engine会尝试基于遮挡前识别到的数据进行恢复，如果当前摄像头采集数据和遮挡前类似，就可能会导致错误匹配到旧的结果，从而产生数据跳变。

#### 处理步骤

如果开发者通过HMS\_AREngine\_ARCamera\_GetTrackingState函数获取的状态为ARENGINE\_TRACKING\_STATE\_PAUSED，可以通过函数HMS\_AREngine\_ARCamera\_GetTrackingStateReason进一步获取暂停原因，如暂停原因是ARENGINE\_TRACKING\_STATE\_REASON\_INSUFFICIENT\_FEATURES或ARENGINE\_TRACKING\_STATE\_REASON\_EXCESSIVE\_MOTION，建议在您的应用中提示用户，并在恢复后（HMS\_AREngine\_ARCamera\_GetTrackingState获取的状态为：ARENGINE\_TRACKING\_STATE\_TRACKING时）重新做session初始化，见：创建AR会话。