Android 如何在Google Tango中检测地板和其他曲面?

Android 如何在Google Tango中检测地板和其他曲面?,android,unity3d,google-project-tango,Android,Unity3d,Google Project Tango,我是探戈新手,我想扫视一个房间,以便 检测墙壁并将其涂成红色 检测地板并将其涂成蓝色 我复习了探戈教程,在那里你可以放一只猫。看起来有一个FindPlane功能,它采用触摸位置。 这是我用来区分墙壁和地板的东西吗?你找到了吗。 此外,因为Caporales有更好的二维平面图 恐怕我还没有看到任何关于探测墙壁的东西。一旦你得到了可靠的地板,可以通过确保平面垂直于地板来识别墙壁 编辑:回复评论 因此,在快速浏览之后,我想我应该首先使用TangoPointCloud.\u FindFloorWithD

我是探戈新手,我想扫视一个房间,以便

  • 检测墙壁并将其涂成红色
  • 检测地板并将其涂成蓝色
  • 我复习了探戈教程,在那里你可以放一只猫。看起来有一个
    FindPlane
    功能,它采用触摸位置。
    这是我用来区分墙壁和地板的东西吗?

    你找到了吗。
    此外,因为Caporales有更好的二维平面图

    恐怕我还没有看到任何关于探测墙壁的东西。一旦你得到了可靠的地板,可以通过确保平面垂直于地板来识别墙壁

    编辑:回复评论

    因此,在快速浏览之后,我想我应该首先使用
    TangoPointCloud.\u FindFloorWithDepth()
    并对其进行修改,以查找最高深度点,而不是最低深度点(为我们提供了上限!)。
    现在您知道了绘制墙平面的高度。听起来你很高兴找到所有垂直于地板的平面

    我们应该从一个最简单的例子开始,看一个没有切口(门窗等)的扁平矩形墙,并且没有任何物体阻挡。我们可以将所有垂直于地板/天花板的平面集合,只保留那些带有
    transform.forward
    指向玩家的平面。迭代这些,计算它们离开的平均距离,给出墙的位置。另外,取左右两侧的最大值,给出墙的长度。

    因此,我们有从地面开始的高度,我们有宽度,我们有从平面开始的平均位置

    好极了。谢谢你,Jethro,这很有帮助。一旦确定了地板,我想我可以在地板高度创建一个平面:m_floorPlaneY,并向其添加材质以改变颜色。对不起,我对Unity还是很陌生。对于墙:if(m_pointCloud.FindPlane(cam,touchPosition,out planeCenter,out plane)){//检查平面是否垂直于楼板//但如何创建与墙的精确尺寸相同的平面,以便对其应用材质?}