Просмотр в смешанной реальности и в трехмерном режиме
Чтобы включить множество сценариев трехмерной и смешанной реальности (MR), можно добавить несколько компонентов MR в приложение холста. Компоненты — это коллекции элементов управления, которые можно использовать для решения конкретных требований. Например, эти компоненты MR можно использовать для:
- Просмотр и обработка трехмерного содержимого.
- Наложение трехмерного содержимого и двухмерных изображений на изображение с камеры.
- Измеряйте расстояние, площадь и объём, используя MR на вашем устройстве.
- Определите пространства в реальном мире с помощью наложения MR.
Мы добавим некоторые из этих функций смешанной реальности в наше приложение Easy Sales.
Просмотр в режиме MR
Представление в MR является одним из основных функций, включенных в приложение. Он позволяет пользователю просматривать изображения и трехмерные модели в естественной среде. Пользователь может получить к нему доступ, нажав кнопку; он накладывает выбранные трехмерные модели или изображения на живое изображение с камеры устройства.
Трехмерный контент должен находиться в формате GLB-файла, а изображение должно находиться в форматах .jpg или .png. Компоненты MR в Power Apps используют Babylon React Native.
свойства
Источник: источник данных распознает файл формата .glb для отображения. Представление в компоненте MR поддерживает загрузку моделей из:
ширина объекта: ширина изображения, отображаемого или трехмерного содержимого.
высота объекта: высота изображения, отображаемого или трехмерного содержимого.
глубина объекта: трехмерность 3D содержимого.
единицы: единица, используемая для полей ширины, высоты и глубины объекта.
Фотографии Изображения, захваченные во время сеанса смешанной реальности.
Обработка масштабирования объектов
Если модель помещается в представление в компоненте MR, она использует исходные измерения модели. Эти измерения — это свойства "Ширина объекта", "Высота объекта" и "Глубина объекта".
Давайте используем методы масштабирования для изменения размера модели.
- Если измерения не определены, мы принимаем, что модель уже находится в ожидаемом масштабе, и мы оставим ее без изменений.
- Если определено одно измерение, а остальные — значения по умолчанию 0, мы масштабируем весь объект на основе указанного измерения.
- Если определены два измерения, мы изменим модель в соответствии с заданными измерениями, а затем усредним масштаб для третьего измерения.
Например, предположим, что у вас есть модель с высотой объекта 8, шириной объекта 5 и глубиной объекта 3. Присвойте объекту высоту 24 и ширину объекта равным 10, оставляя глубину объекта без изменений. Высота увеличивается на 3, а ширина увеличивается на 2. Среднее значение этих двух измерений составляет 2,5. Позже мы масштабируем глубину на этот объем. Последняя масштабируемая модель имеет высоту объекта 24, ширину объекта 10 и глубину объекта 7,25.
- Если заданы все три измерения, мы сопоставляем размер модели с заданным значением.
Просмотр в трехмерном режиме
Можно добавлять 3D модели в приложения Canvas. Пользователи могут простыми жестами поворачивать и масштабировать модель в компоненте 3D представления . Фигура по умолчанию включается в компонент. Вы можете изменить эту фигуру на другую, изменив свойство Source. При связывании с элементом управления "Коллекция" можно отобразить одну трехмерную модель или разрешить пользователю выбирать из коллекции. Допустимые форматы файлов с контролем View in 3D: .glb, .objили .stl. Пользователи могут преобразовать трехмерные модели любого формата файлов в .glb для использования в приложении.
Если вам требуется галерея трехмерных моделей, поместите компонент Просмотр в 3D вне галереи и установите его источник на указанное свойство галереи. Убедитесь, что трехмерные модели оптимизированы для использования с Power Apps, чтобы снизить время загрузки. Вы можете использовать компонент "Просмотр в 3D", чтобы добавить метки (видимые как круглые метки) к указанным точкам на 3D-моделях.
Заметка
Несколько экземпляров представления в трехмерном компоненте на одном экране могут вызвать проблемы с производительностью, так как каждая версия компонента будет пытаться одновременно загрузить трехмерные модели.