Point.OrientationMode ESTIMATED_SURFACE_NORMAL和Point.OrientationMode INITIALIZED_TO_IDENTITY有什么区别?

时间:2018-03-19 02:19:40

标签: android arcore

在我阅读以下文档后,我得到的信息是特征点的方向模式ESTIMATED_SURFACE_NORMAL如果它位于纹理表面上,否则它是INITIALIZED_TO_IDENTITY
但是我希望能够检测到特征点,因为它位于纹理表面上,所以我对两种方向模式之间的细微差别感到有些困惑。

此外,当我们点击这些特征点时,我们是否无法提前确定他们的定位模式是什么?

尝试估计以命中测试为中心的曲面法线。表面法线估计最有可能在纹理表面和相机运动上成功。

  

public static final Point.OrientationMode ESTIMATED_SURFACE_NORMAL   点方向将遵循getHitPose()中描述的行为。“

     

public static final Point.OrientationMode INITIALIZED_TO_IDENTITY   点方向初始化为标识,但可能会随着时间的推移略微调整。

1 个答案:

答案 0 :(得分:3)

当点的姿势反映检测到的曲面的法线时,其OrientationMode为ESTIMATED_SURFACE_NORMAL。否则它的INTIALIZED_TO_IDENTITY,并且我假设您无法分辨检测到的表面朝向哪个方向。

当我修改示例应用程序代码时,我能够区分它,以便它不仅在ESTIMATED_SURFACE_NORMAL上丢弃小雕像,而且还在INTIALIZED_TO_IDENTITY中删除小雕像。对于后者,小雕像的头部始终垂直于地面,而不是跟随检测到的表面的正常情况。

您可以在此处获得更多详细信息: getHitPose() https://developers.google.com/ar/reference/java/com/google/ar/core/HitResult