Compartir vía


Tomar y cargar fotos de realidad mixta

En este artículo, crearemos una aplicación que puede tomar fotos de una sesión de realidad mixta y subirlas a una carpeta en OneDrive. Usaremos el control Ver en RM en este ejemplo, pero los controles Ver forma en RM y Cámara de medición también funcionarían.

Cubriremos las siguientes tareas:

  • Agregar un control Objeto 3D para ver y manipular un Objeto 3D de muestra
  • Conectar el control Objeto 3D a un control Ver en RM para ver el Objeto 3D en el mundo real
  • Adición de un control Galería para ver fotos tomadas con el control Ver en RM
  • Subir las fotos a OneDrive con un flujo de Microsoft Power Automate
  • Subir fotos capturadas en realidad mixta a Dataverse

Requisitos previos

Sugerencia

Los controles mixed reality (MR) funcionan mejor en entornos bien iluminados con superficies de textura plana. El seguimiento es mejor en dispositivos habilitados para LIDAR.

Agregue un botón para tomar una foto de un objeto 3D en realidad mixta

Este ejemplo tiene tres partes. Primero, agregaremos un botón que permita a los usuarios tomar una foto de un Objeto 3D en una experiencia de realidad mixta.

Inserte un control de Objeto 3D

Con la aplicación abierta para editar en Power Apps Studio:

  1. Abra la pestaña Insertar y expanda Medios.

  2. Seleccione Objeto 3D para colocar un Objeto 3D en la pantalla de la aplicación. Arrastre el control a la pantalla para colocarlo con mayor precisión.

    El control viene con una forma de cubo transparente. Si quiere, cambie la propiedad Source del control a cargar un modelo 3D diferente. En este ejemplo usaremos la URL https://raw.githubusercontent.com/microsoft/experimental-pcf-control-assets/master/robot_arm.glb.

    Captura de pantalla de un control Objeto 3D en construcción en Microsoft Power Apps Studio, mostrado con su propiedad Source.

Insertar y conectar un control Ver en RM

  1. Abra la pestaña Insertar y expanda Realidad mixta.

  2. Seleccione Ver en RM para colocar el control en la pantalla de la aplicación o arrastre el control a la pantalla para colocarlo con más precisión.

  3. Cambie la propiedad Source del control a 3DObject1.Source. (3DObject1 es el nombre del control Objeto 3D que hemos agregado anteriormente.) Esta expresión dirige el control Ver en RM para superponer el modelo 3D en la transmisión de la cámara del dispositivo.

    Captura de pantalla de un control Ver en RM en construcción en Microsoft Power Apps Studio, mostrado con su propiedad Source.

  4. Guarde y publique la aplicación y ejecútela en su dispositivo móvil.

  5. Seleccione Ver en RM para ver el objeto 3D en realidad mixta. Seleccione el icono de la cámara para tomar una foto de la vista MR.

A continuación, agregaremos una galería para que los usuarios puedan ver las fotos que tomaron.

  1. Edite la aplicación de nuevo. Abra la pestaña Insertar y coloque un control Galería vertical en la pantalla.

  2. Cambie la propiedad Items del control a ViewInMR1.Photos. (ViewInMR1 es el nombre del control Ver en RM que agregamos anteriormente).

  3. Opcionalmente, cambie la propiedad Layout de la galería a Imagen y título.

    Una captura de pantalla de una galería vertical en construcción en Microsoft Power Apps Studio, que se muestra junto a sus propiedades Items y Layout.

  4. Obtenga una vista previa de la aplicación y seleccione Ver en RM para generar una foto de muestra. La galería se completa con una imagen de muestra.

    Una captura de pantalla de una aplicación de lienzo que muestra un modelo 3D y una foto del modelo en una galería.

Nota

Si los usuarios salen de la vista MR para ver la galería, luego entran en la vista MR nuevamente y toman más fotos, las nuevas fotos reemplazarán a las que tomaron anteriormente.

Para que las fotos de la galería sean más fáciles de ver, puede agregar una superposición de tamaño completo que aparece cuando el usuario selecciona una imagen en miniatura.

  1. Edite la aplicación de nuevo. Abra la pestaña Insertar y expanda Medios.

  2. Seleccione Imagen para colocar un control de imagen en la pantalla. Muévala y cámbiele el tamaño de acuerdo con cómo desea que aparezca la foto más grande cuando se selecciona una imagen en miniatura.

    Una captura de pantalla de un control de imagen en construcción en Microsoft Power Apps Studio.

  3. Cambie las propiedades del control de la imagen como se indica a continuación: | Propiedad | Valor | | - | - | | OnSelect | UpdateContext({vVisibleImageZoom:false}) | | Imagen | Gallery1.Selected.Image2 (suponiendo que el control Galería sea Gallery1 y que la primera imagen en minitura sea Image2) | Visible | vVisibleImageZoom

  4. Seleccione la primera imagen en miniatura del control Galería. Cambie su propiedad OnSelect a UpdateContext({vVisibleImageZoom:true}).

    Una captura de pantalla de una imagen en miniatura en una galería en Microsoft Power Apps Studio, mostrado con su propiedad OnSelect.

  5. Guarde y publique la aplicación y ejecútela en su dispositivo móvil.

  6. Seleccione Ver en RM y luego seleccione el icono de la cámara para tomar una foto. Seleccione la flecha hacia atrás en la parte superior de la pantalla para salir de la vista MR.

  7. Seleccione la miniatura en la galería para mostrar una versión más grande de la foto. Seleccione la imagen para ocultarla.

Cargar fotos a OneDrive con un flujo de Power Automate

Por último, crearemos un flujo de trabajo usando el panel de Power Automate. El flujo de trabajo carga fotos desde la aplicación a una carpeta llamada MRPhotos en OneDrive.

Crear un flujo en Power Automate

  1. Edite la aplicación. En el menú de creación de aplicaciones, seleccione Power Automate > Crear nuevo flujo.

  2. Busque la plantilla del botón Power Apps y selecciónela.

    Una captura de pantalla de la página de plantilla Power Automate, con la plantilla de botón Power Apps seleccionada.

  3. En la ventana Crear su flujo, seleccione Editar en modo avanzado.

  4. Seleccione el botón Power Apps en la parte superior de la ventana e introduzca un nuevo nombre para su flujo. En este ejemplo, nombraremos al flujo Subir foto de MR.

    Una captura de pantalla de la ventana de edición Power Automate, con el nombre del flujo de trabajo resaltado.

  5. Seleccione el botón Power Apps en la parte superior de la ventana e introduzca un nuevo nombre para su flujo. En este ejemplo, nombraremos al flujo Subir foto de MR.

    Una captura de pantalla de la ventana de edición de Power Automate, con el paso PowerApps seleccionado para su eliminación.

  6. Busque PowerApps (V2) y seleccione el disparador de PowerApps (V2).

    Una captura de pantalla de la ventana de edición de Power Automate, con el disparador de PowerApps (v2) seleccionado.

  7. Seleccione Agregar una entrada y luego Archivo.

  8. Cambie la etiqueta Contenido del archivo por Imagen.

    Una captura de pantalla de la ventana de edición de Power Automate, con la etiqueta de entrada Archivo cambiada a Imagen.

  9. Seleccione Nuevo paso. Busque Crear archivo de OneDrive y seleccione la acción Crear archivo.

    Una captura de pantalla de la ventana de edición de Power Automate, con la acción Crear archivo de OneDrive seleccionada.

  10. En Ruta de acceso de la carpeta, seleccione el icono de la carpeta y navegue a la carpeta MRPhotos que ha creado antes.

  11. En Nombre del archivo, introduzca @{triggerBody()?['file']?['name']} (Su texto cambia a "file.name").

  12. En Contenido del archivo, introduzca @{triggerBody()['file']['contentBytes']} (Su texto cambia a "Imagen").

  13. Guarde su flujo.

El flujo completo debería tener el siguiente aspecto:

Una captura de pantalla de la ventana de edición de Power Automate, con el nombre del flujo de trabajo resaltado.

Conecte el flujo de trabajo a un botón en su aplicación

  1. Regrese a su aplicación en Power Apps Studio. Su flujo ahora aparece en Flujos disponibles.

    Una captura de pantalla del panel de datos Power Apps Studio, con el nuevo flujo mostrado.

  2. Abra la pestaña Insertar y seleccione Botón. Coloque el botón de control en la pantalla y cambie su tamaño según sea necesario.

  3. Cambie la propiedad Text del control del botón a Cargar fotos.

  4. En la barra de fórmulas en la parte superior de la ventana Power Apps, seleccione la propiedad OnSelect. Seleccione Acción > Power Automate > Subir foto de MR.

    Una captura de pantalla de un control de botón en construcción en Power Apps Studio, con un flujo agregado a la propiedad OnSelect del control.

    La propiedad OnSelect del control del botón cambia a UploadMRPhoto.Run(.

  5. Para cargar la última foto tomada, pegue el siguiente código después del paréntesis de apertura: {file:{name:GUID() & ".png", contentBytes:Last(ViewInMR1.Photos).ImageURI}})

    Una captura de pantalla de la propiedad OnSelect de un control de botón en la barra de fórmulas de Power Apps Studio, que carga la última foto tomada.

    Si colocó el control de botón dentro de la galería, pegue el siguiente código en su lugar: {file: {name:GUID() & ".png", contentBytes:ThisItem.ImageURI}})

    Una captura de pantalla de la propiedad OnSelect de un control de botón en la barra de fórmulas de Power Apps Studio, cuando el botón está en una galería.

    Para hacer que el botón cargue todas las fotos tomadas, elimine UploadMRPhoto.Run( y pegue el siguiente código: ForAll(ViewInMR1.Photos, UploadMRPhoto.Run({file:{name:GUID() & ".png", contentBytes:ImageURI}}))

    Una captura de pantalla de la propiedad OnSelect de un control de botón en la barra de fórmulas de Power Apps Studio, que carga todas las fotos tomadas.

  6. Obtenga una vista previa de la aplicación y seleccione Ver en RM y luego seleccione Subir fotos. Compruebe la carpeta MRPhotos en OneDrive y confirme que la foto de muestra haya sido cargada.

Agregar capacidad sin conexión a su aplicación

Puede usar su aplicación incluso cuando tiene conectividad de red limitada o nula usando las funciones SaveData y LoadData .

Cargar fotos capturadas en realidad mixta a Dataverse

Puede agregar fotos a tablas de Dataverse a través de una columna de tipo de datos de imagen. Las columnas de imagen en Dataverse tienen dos campos obligatorios, Completo y Valor, que se pueden establecer en la salida ImageURI de los controles MR.

Por ejemplo, si desea cargar la primera foto capturada por el control de marcado en realidad mixta a una columna de Dataverse llamada Imagen:

    Image: {Full: First(MarkupInMR.Photos).ImageURI, Value: First(MarkupInMR.Photos).ImageURI}

Consulte también

Nota

¿Puede indicarnos sus preferencias de idioma de documentación? Realice una breve encuesta. (tenga en cuenta que esta encuesta está en inglés)

La encuesta durará unos siete minutos. No se recopilan datos personales (declaración de privacidad).