2017-02-14 9 views
1

我是新來的探戈,我想一個房間掃描到如何檢測Google Tango中的地板和其他表面?

  1. 探測牆壁和它們上色紅色
  2. 檢測地板,顏色爲藍色

我回顧了探戈教程,你可以放置一隻貓。看起來有一個FindPlane函數需要觸摸位置。
這是我可以用來區分牆壁和地板的東西嗎?

回答

2

您是否找到Floor Finding Example
此外,因爲Caporales有更好的二維平面圖提取,所以Java API

我還沒有看到任何關於檢測牆壁的事情,我很害怕。一旦你可靠地拿到地面,就可以通過確定飛機與地面垂直來確定牆壁。

編輯:回覆評論。

所以在快速瀏覽之後,我想我會以TangoPointCloud._FindFloorWithDepth()開始並修改它以尋找最高深度點而不是最低點(給我們天花板!)。
現在你知道有多高來繪製你的牆壁飛機。聽起來你很高興找到所有與地面垂直的飛機。

我們應該從最簡單的情況看一個沒有切口(門窗等)的扁平長方形牆,並且沒有任何物體。我們可以把我們所有的Perpedcidular飛機放在地板/天花板上,並且只保留那些指向玩家的飛機。迭代通過它們並計算它們離開的平均距離,給我們在哪裏定位牆。另外,請看右邊和左邊看到的最大值,給我們多長時間的牆。
所以我們有從Cieling-Floor的高度,我們的寬度取maxRight-maxLeft,我們有平面位置的平面。

+0

優秀。謝謝Jethro,這有幫助。 一旦地板確定後,我想我可以創建一個飛機在 的地板高度:m_floorPlaneY並添加材料來改變顏色。 –

+0

對不起,我對Unity仍然很陌生。牆壁: 如果(m_pointCloud.FindPlane(凸輪,touchPosition,出planeCenter,面外)){ // 檢查平面垂直於地板 //但我怎麼創建一個平面的的確切大小牆壁,以便我可以將材料應用於它? } –