2017-02-14 15 views
1

Я новичок в танго, и я хотел просканировать номер вКак определить пол и другие поверхности в Google Tango?

  1. обнаружить стены и окрашивают их в красный цвет
  2. обнаружить пол и цвет синий

Я рассмотрел учебник танго, где вы можете поместите кошку. Похоже, есть функция FindPlane, которая занимает положение касания.
Это что-то, что я могу использовать, чтобы отличать стены от полов?

ответ

2

Вы нашли Floor Finding Example.
Кроме того, Java API, поскольку Caporales имеет лучшую 2D-планную выкладку.

Я ничего не видел о обнаружении Стены, я боюсь. Как только вы надежно получили пол, стены можно было идентифицировать, убедившись, что плоскость перпендикулярна полу.

Редактировать: Ответить на комментарий.

Итак, после быстрого взгляда, я думаю, что начну с принятия TangoPointCloud._FindFloorWithDepth() и изменения его, чтобы искать наивысшие точки глубины вместо самых низких (давая нам потолок!).
Теперь вы знаете, как высоко нарисовать ваши стенные самолеты. Похоже, вы счастливы найти все плоскости, перпендикулярные полу.

Мы должны начать с простейшего случая, когда смотрим на плоскую стену прямоугольника без вырезов (окна дверей и т. Д.) И никаких объектов на пути. Мы могли бы взять наш набор всех самолетов, которые являются перпедцидулярными для пола/потолка, и держать только те, у которых transform.forward, указывающие на игрока. Проведите через них и вычислите среднее расстояние, на котором они находятся, и дайте нам место для размещения стены. Кроме того, возьмите максимальное значение, видимое справа и слева, и дайте нам, как долго будет стена.
Итак, у нас есть высота от принятия Cieling-Floor, у нас есть ширина, принимающая maxRight-maxLeft, и у нас есть усредненная по сравнению с плоскостью позиция.

+0

Отлично. Спасибо, Джотро, это помогает. Как только пол определяется, я думаю, что смогу создать плоскость в высоте пола: m_floorPlaneY и добавить материал к нему, чтобы изменить цвет. –

+0

Извините, я все еще довольно новичок в Unity. Для стен: если (m_pointCloud.FindPlane (кулачок, touchPosition, из planeCenter, вне плоскости)) { // проверить, если плоскость перпендикулярна к полу // Но как создать самолет, что это точный размер чтобы я мог применить к нему материал? } –