Изменить: это закрыто, потому что ему нужно больше деталей, но люди продолжают его голосовать. Так что я сделаю все возможное, чтобы добавить немного. Этот вопрос был плохо отформатирован, так как на самом деле было 2 вопроса. 1) Как исправить этот код из документации? 2) Как мне выровнять сцену единства с физическим пространством игрока?
Мне кажется, что №1 был сосредоточен на ответе, но №2 был вопросом заголовка. Мои основные проблемы заключались в том, что создаваемая сетка окклюзии была неровной / не плоской, из-за чего столкновения между голограммами и полом были очень шаткими. В итоге я создал базовое меню с голограммой куба перед игроком. Затем игроку было приказано опустить куб, пока он не сядет на пол равномерно. Затем я убедился, что все голограммы не опускаются ниже установленного значения, либо с помощью плоскостей столкновения, либо с помощью кода. Надеюсь, эта идея поможет кому угодно. Спасибо!
Когда игрок загружается в сцену единства в Hololens2, плоскость этажа единства не соответствует физическому полу. С hololens2 и MRTK происхождение сцены Unity привязано к голове игрока и имеет значение 0,0,0.
Я пытаюсь использовать Microsoft Scene Understanding SDK, чтобы установить положение Y среды Unity Scene на пол в физической комнате. В настоящее время я могу получить доступ к объекту сцены пола, но когда я пытаюсь выполнить часть SpatialCoordinateSystem, я не могу использовать метод .ToUnity () для преобразования матрицы 4x4. Мне пришлось изменить вызов vector3 .ToUnity () на .ToUnityVector3 (); но я не могу найти аналогичный метод для матрицы.
Являются ли методы .ToUnity (), упомянутые в этой документации, устаревшими? Я что-то упустил? (см. изображения для ссылок)
Я очень признателен за любую помощь здесь, либо в этом конкретном вопросе, либо в общей проблеме согласования сцены единства с физической средой пользователя Hololens2.
Я следую информации, представленной здесь https://docs.microsoft.com/en-us/windows/mixed-reality/develop/platform-capabilities-and-apis/scene-understanding-sdk