在我阅读以下文档后,我得到的信息是特征点的方向模式ESTIMATED_SURFACE_NORMAL
如果它位于纹理表面上,否则它是INITIALIZED_TO_IDENTITY
。
但是我希望能够检测到特征点,因为它位于纹理表面上,所以我对两种方向模式之间的细微差别感到有些困惑。
此外,当我们点击这些特征点时,我们是否无法提前确定他们的定位模式是什么?
尝试估计以命中测试为中心的曲面法线。表面法线估计最有可能在纹理表面和相机运动上成功。
public static final Point.OrientationMode ESTIMATED_SURFACE_NORMAL 点方向将遵循getHitPose()中描述的行为。“
public static final Point.OrientationMode INITIALIZED_TO_IDENTITY 点方向初始化为标识,但可能会随着时间的推移略微调整。
答案 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