在ARCore会话期间当飞机不在命中结果中时手动射线投射

时间:2018-01-29 06:57:32

标签: arcore

我在检测到的平面上创建点,但有时不再跟踪平面(例如快速移动),并且hitTest可能不会在此平面上返回命中。

ARKit会为每个已知的飞机返回命中结果吗?ARCore会做同样的事情吗?

显然,这个概念存在于虚幻集成(EGoogleARCoreLineTraceChannel :: InfinitePlane)中,是否可以在Java API中使用?

另外,要解决这个问题,我会进行手动光线投射,出于某种原因,我的计算位置和hitTest结果之间的偏移非常小。 the two dots show the offset blue is my cast and green is hit test result

屏幕到世界坐标有助于确保没有引入偏差。这有可能吗?

提前感谢您的帮助!

于连。

1 个答案:

答案 0 :(得分:0)

作为当前的替代方案,我使用Jonas Jongejan和Dan Moore AR Drawing的代码来获得正确的Ray起源,并且它的工作要好得多。

秘密是在靠近和前屏幕点生成2点并在touchRay.direction.scale(AppSettings.getStrokeDrawDistance());开始射线。我现在在手动光线投射和hitTest的结果之间有一个非常准确的匹配。