Как всегда получить дизайн AR перед пространственными стенами Unity HoloLens
Я создаю приложение для устройства HoloLens поколения 1, используя Unity 2018.3.13f
а также MRTK V2 RC1
, Я получил простой дизайн AR с 2 текстовыми объектами и 1 объектом rawimage. После построения проекта и его развертывания в HoloLens объекты AR оказываются за пространственной сеткой (вы знаете все эти пространственные треугольники), но я хочу, чтобы все объекты находились перед стеной.
Как мне это сделать?
Холст установлен на основной камере
У меня есть оригинальные настройки для DefaultMixedRealityconfiguraitonProfile
если там есть что-то, что нужно изменить.
Вот как это выглядит через гололинзы с приложением, когда оно не показывает сетку стены (извините за плохое качество)
и вот как это выглядит, когда он отстает от сетки
Нужно ли мне добавить рендерер сетки или что-то на MainCamera
сделать это возможным?
Любая помощь приветствуется, спасибо!
2 ответа
- Если вы используете рендерер спрайтов, установите порядок в слое (в 0 или -1).
- Если вы используете рендерер меша, попробуйте отключить динамическое закрытие.
- Попробуйте изменить иерархию слоев сортировки в "Правка" -> "Настройки проекта" -> "Сортировка слоев".
Я не верю, что MRTKv2 по состоянию на 2019/5/9 имеет код, который автоматически гарантирует, что конкретный объект будет расположен между камерой и другими произвольными сетками и коллайдерами (т. Е. Пространственная осведомленность является одной из таких сеток, хотя вы можно было бы представить себе наличие произвольного прямоугольника или плоскости в сцене, которая бы закрывала этот объект, и в этом случае, возможно, вы захотите, чтобы ваш "промежуточный" объект оставался между обоими этими двумя типами потенциально скрывающихся предметов).
Раньше в HTK был скрипт под названием Tagalong.cs, который делал бы что-то подобное, выполняя радиопередачи с камеры на сталкивающийся объект:
Этот один большой скрипт, я думаю, был разбит на более мелкие скрипты (то есть специфическое поведение в решателях здесь:)
Тем не менее, насколько я могу судить, конкретное взаимодействие "держи вещи автоматически между камерой и любым объектом, который может столкнуться" не сохранилось. Кто-то другой может исправить меня здесь, если я ошибаюсь, похоже, что это не было поведение, которое сохранилось в V2.
В перспективе есть несколько возможностей:
1) Вероятно, подайте проблему на Github здесь ( https://github.com/microsoft/MixedRealityToolkit-Unity/issues), чтобы запросить перенос этой функции.
2) Используйте код в Tagalong.cs, чтобы добавить свой собственный решатель, который бы выполнил это (т. Е. Код выглядит таким, как есть, нужно просто проделать определенную работу, чтобы переупорядочить его для обработки того, что вы хотите)