我是探戈的新手,我想扫描一个房间


检测墙壁并将其涂成红色
检测地板和蓝色


我查看了探戈教程,您可以在其中放置猫。看起来好像有一个FindPlane函数处于触摸位置。
这是我可以用来区分墙壁和地板的东西吗?

最佳答案

您找到Floor Finding Example了吗?
另外,由于Caporales具有更好的2D平面图提取,因此Java API

恐怕我还没有发现检测墙壁的任何信息。一旦可靠地拿到地板,就可以通过确保平面垂直于地板来识别墙壁。

编辑:回应评论。

因此,快速浏览之后,我想我将首先采用TangoPointCloud._FindFloorWithDepth()并将其修改为寻找最高的深度点而不是最低的深度点(为我们提供天花板!)。
现在,您知道绘制墙壁平面的高度。听起来您很高兴找到所有垂直于地板的平面。

我们应该从最简单的情况开始看,即看一个没有切口(门窗等)并且没有障碍物的扁平矩形墙。我们可以选择所有与地板/天花板垂直的平面,并仅保留transform.forward指向玩家的平面。遍历这些对象并计算它们的平均距离,从而使我们可以在哪里放置墙。另外,取右和左看的最大值,给我们这堵墙多久。
因此,我们有Cieling-Floor的高度,有maxRight-maxLeft的宽度,还有从平面求平均值的位置。

10-06 11:22