Если я правильно понимаю вашу проблему, возможно, вы на самом деле проделали слишком большую работу по созданию облака точек me me sh, но в любом случае это круто.
Если все, что вам нужно, это плоская плоскость, где пол что у вас есть проблема аппроксимации; тот, который может быть настолько простым или сложным, насколько вы хотите на самом деле.
Простейший маршрут: Вы знаете, что в данном случае это пол, поэтому вы можете предположить, что нормальный ve c вверх (т. е. Vector3.up
), поэтому шаг 1 должен был бы оценить координату z вашей плоскости. Самый простой способ сделать это - усреднить все или некоторые координаты z точек в вашем облаке точек.
Теперь вам нужно найти координаты x и y для углов вашей плоскости. Абсолютно простое решение состоит в том, чтобы предположить, что большинство комнат имеют прямоугольную форму angular, и поэтому вы работаете с ними. Затем вы можете найти самую дальнюю точку в любом направлении (направления x и y) и создать прямоугольную плоскость angular, используя эти точки.
Это, конечно, не учитывает вращение пола (вы, вероятно, не стоите, глядя совершенно перпендикулярно стене), что требует немного больше размышлений.