2017-02-14 3 views
1

私はタンゴに新たなんだと私はGoogle Tangoで床などの表面を検出するにはどうすればよいですか?

  1. に部屋をスキャンしたかった壁を検出し、それらをカラーレッド
  2. 床と色ブルー

を検出することができます私はタンゴのチュートリアルを見直し猫を置く。タッチ位置をとるFindPlane関数のように見えます。
壁と床を区別するために使用できるものですか?

答えて

2

Floor Finding Exampleを見つけましたか?
さらに、Caporalesは2Dフロアプランのエクストラシオンが優れているので、Java APIです。

私が恐れている壁を検出することについては何も見たことがありません。確実に床を確保したら、平面が床に垂直であることを確認することで壁を特定できます。

編集:コメントへの応答。

私は最初にTangoPointCloud._FindFloorWithDepth()とし、最も低い深度点を探すように修正することから始めると思います(天井を与えてください!)。
あなたの壁面を描くのがどれだけ高いか分かりました。あなたは床に垂直なすべての平面を見つけることができて嬉しいですね。

私たちは、切り抜きのない矩形の壁(ドアの窓など)を見るのは最も簡単なケースから始めて、途中にはオブジェクトはありません。私たちはPerpedcidularのすべての飛行機のセットをFloor/Ceilingに持ち込み、transform.forwardのものだけをプレイヤーの方に向けることができます。それらを繰り返して、離れている平均距離を計算して、壁を配置する場所を教えてください。また、右と左に見られる最大値を取って、壁の長さを教えてください。
高さはCieling-Floorですから、幅はmaxRight-maxLeftとなり、飛行機から平均した位置になります。

+0

優れています。ありがとうジェトロ、これは役立ちます。 床が決まったら、 に床の高さ:m_floorPlaneYの平面を作成し、色を変更するための素材を追加することができます。 –

+0

申し訳ありませんが、私はUnityにまだかなり新しいです。壁の場合: if(m_pointCloud.FindPlane(cam、touchPosition、out planeCenter、out plane)) { //平面が床と垂直であるかどうかを確認します//しかし、どのようにして平面を作成しますか?私はそれに材料を適用することができるように壁? } –

関連する問題