Процедурное создание объектов на поверхностях в пространственном отображении для улучшения погружения - PullRequest
1 голос
/ 29 апреля 2019

Я разрабатываю игру, чтобы помочь с погружением в воду. Я хотел бы размещать пучки травы случайным образом на плоских горизонтальных поверхностях. В настоящее время я пытаюсь понять, существует ли простой способ сделать это с помощью набора инструментов для смешанной реальности в Unity, или мне нужно искать более низкий уровень для встроенного в Гололена поверхностного отображения, которое генерирует треугольники, которые, очевидно, потребуют значительных затрат. больше времени для реализации.

Я внимательно посмотрел на компонент пространственного отображения MRTK, так как кажется, что это тот раздел, который я хочу, но, судя по всему, он просматривает сетку, предоставляемую Hololens для обновлений, подобно тому, как если бы вы просто импортировать модель комнаты в Object Surface Observer в Unity. Похоже, что нет итеративной генерации треугольников или интерпретации точек, поэтому я предполагаю, что смотрю не в том месте. Я также подумал об использовании пространственного понимания для создания поверхности пола, но при этом упускается возможность появления объектов на столах или других более высоких поверхностях.

Для большей ясности в отношении желаемого результата в случае, если у кого-то есть обходной путь (у меня недостаточно репутации, чтобы разместить изображение в строке): https://i.imgur.com/ctO81d5.png

Любое руководство будет с благодарностью!

Ответы [ 2 ]

2 голосов
/ 29 апреля 2019

Вы можете взять нормали сетки пространственного отображения и посмотреть, какие из них направлены вверх.

Пространственное отображение - это просто сетка, сгенерированная во время выполнения.Ничего особенного, просто меш , как и все остальные.Также он всегда на Layer 31 называется Spatial Mapping.

0 голосов
/ 29 апреля 2019

Не понятно, что вы хотите.Пространственное картографирование является функцией в основном для мониторинга реальности.Пространственная сетка может значительно меняться от кадра к кадру.Вы должны взять сетку, найти плоские поверхности и взять их координаты.

Тогда, я думаю, вы должны поставить якорь на каждую найденную поверхность.Вы можете сохранить якоря или заменить их другим устройством.Якоря могут играть роль точек появления виртуальных объектов, таких как трава.

...