ARCore:区分在房间内相邻垂直墙壁中检测到的两个平面

问题描述

我正在研究垂直平面检测。

当我指向我房间的墙壁 1 时,这里的平面 1 是在墙壁 1 中检测到的垂直平面... 我正在通过这个公式记录四元数

 val quat =  Quaternion(plane1.centerPose.qx(),plane1.centerPose.qy(),plane1.centerPose.qz(),plane1.centerPose.qw())

现在,当我将手机指向我房间的另一面墙(相邻)并检查它的旋转时,我得到相同的值,我认为这是世界旋转。如果我错了,请告诉我。

有没有其他方法可以区分相邻墙壁中检测到的垂直平面

我用它来循环检测到的平面

 for (plane1 in frame.getUpdatedTrackables(Plane::class.java)) {
                if (plane1.trackingState === TrackingState.TRACKING) {
                    val type: Plane.Type = plane1.type
                    if (type == Plane.Type.VERTICAL) {

解决方法

我不明白你的问题。您想验证沿墙 A 检测到的垂直平面是否与墙 B 上的垂直平面不同?我认为 ARCore 不可能做到这一点。也许您可以提供更多有关您在应用中尝试执行的操作的详细信息?