Я использую Unity3D и ARKit, и моя цель - проецировать изображение с камеры на плоскость, обнаруженную с помощью ARKit.Так что я могу визуализировать свою плоскость с помощью второй ортогональной камеры в поле зрения невесты.Результатом будет текстурированная карта сверху вниз.В первой версии все это не должно выполняться в режиме реального времени, оно должно работать только для одного кадра при нажатии кнопки. Мои текущие шаги:
- замораживание рамки при нажатии кнопки (ReadPixels to UI Image)
- дублирует сетку плоскости ARKit, так чтоплоскость больше не растягивается и не отслеживается
- Теперь возникает проблема, как мне правильно преобразовать изображение с камеры (которое хранится в моем изображении пользовательского интерфейса) в мою плоскость?Нужно ли делать преобразование на текстуре или в шейдере?Как мне справиться со случаем, если плоскость больше текущего изображения с камеры?Должен ли я сначала обрезать самолет?Как и на рисунке (случай 2), можно текстурировать только зеленую область.
Из геометрии плоскости ARKit Я могу получить 3d вершины и текстурные координаты плоскости.Я также могу перевести Мировые координаты на экран , но я борюсь с тем, как и где выполнить преобразование изображения с экрана на мою обнаруженную плоскость.