Пространственное понимание ограничено небольшой областью - PullRequest
0 голосов
/ 20 января 2019

Я работаю с Гололенсом в Unity и пытаюсь нанести на карту большую площадь (15x15x25) метров.Я могу нанести на карту всю область, используя префаб SpatialMapping, но я хочу выполнить некоторую пространственную обработку этой сетки, чтобы сгладить полы и стены.Я пытался использовать SpatialUnderstanding для этого, но, похоже, существует жесткое ограничение на размер области, которую вы можете сканировать с помощью этого, что было подробно описано в ветке форума hololens .

В настоящее время я не понимаю, как работает конвейер данных от SpatialMapping до SpatialUnderstanding.Почему я не могу просто использовать сетки, сгенерированные из SpatialMapping в SpatialUnderstanding?Есть ли лучший способ создания гладких поверхностей?

1 Ответ

0 голосов
/ 30 января 2019

Это решение лучше всего подходит для предварительно сгенерированных комнат.Другими словами, общее решение, которое, как можно ожидать, будет использоваться конечными пользователями, невозможно, учитывая текущие ограничения.

  • Я начну с последнего вопроса: «Является лиесть какой-нибудь лучший способ создания гладких поверхностей? "

    • Да, используйте штатив на колесах для создания начального сканирования.Учитывая ограниченное разрешение акселерометров и компасов в аппаратных средствах, уменьшение дисперсии по одной линейной оси, высоте и одной оси вращения, крен (крен не должен изменяться во время сканирования), приведет к гораздо более точному сканированию.,

    • Другой метод создания гладких поверхностей - экспорт сетки в программу 3D-редактирования и ручное выравнивание поверхностей, а затем повторный импорт сетки в Unity3D.

  • «Почему я не могу просто использовать сетки, сгенерированные из SpatialMapping в SpatialUnderstanding?»

SpacialUnderstanding далее делит созданную сетку на (8 см,8 см, 8 см) вокселей, а затем рассчитывает сурфели на основе каждого вокселя.Для контроля производительности и использования памяти, жесткий предел примерно (10 м, 10 м, 10 м).Это реализовано в виде (128,128,128) вокселей.

Любая попытка использовать SpacialUnderstanding за ее пределами, приведет к ложным результатам из-за переполнения базовых структур данных.

...