Notas de la versión de Microsoft Mixed Reality Toolkit 2.7

Novedades de la versión 2.7.3

Un agradecimiento especial desde Redmond

El equipo de MRTK quiere expresar un cálido agradecimiento a la comunidad de MRTK. Sus contribuciones, comentarios y votos han ayudado a MRTK a ganar el Premio Auggie de 2021 a la mejor herramienta para desarrolladores. Sin su ayuda, no estaríamos donde estamos hoy. Le damos las gracias efusivamente por su contribución al agregar nuevas compatibilidades con la plataforma, nuevas características, correcciones de errores, sugerencias, preguntas o al realizar cualquiera de las otras numerosas formas en las que nos ha proporcionado su ayuda.

2021 Auggie Awards: Mejor herramienta de desarrollo

Compatibilidad con Unity 2021

Hemos hecho que sea más fácil compilar en Unity 2021 gracias a la versión 2.7.3. Si encuentra algún problema al usar MRTK con Unity 2021, envíe un problema en nuestro repositorio de GitHub.

Descripción de la escena a través de la compatibilidad con la comunicación remota (solo OpenXR)

Scene Understanding ya está disponible durante la comunicación remota en HoloLens 2 con la plataforma OpenXR.

Correcciones de errores y cambios de MRTK 2.7.3

  • Se ha detenido la creación de una carpeta CustomProfiles a menos que se haya clonado un perfil en esa carpeta #9916.
  • Se han quitado las llamadas a .gameObject en GameObjects #9939.
  • Se ha corregido un error por el que los objetos con componentes deshabilitados podían hacer que los punteros se bloqueara en el foco #9945.
  • Se han actualizado los métodos en desuso y se han corregido los errores del compilador para Unity 2021 #9938.
  • Se ha corregido link.xml para Unity 2021 #9942.
  • Se ha actualizado el inspector de configuración de botón para mostrar los nombres de icono #9972.
  • Se ha actualizado el encabezado y la alineación de la lista de asignación de controladores #9976.
  • Varias mejoras de Unity para MRTK #9940.
  • Se han corregido problemas de colisionador e incoherencia de BoundsControl#9973.
  • Se han corregido los inspectores del conjunto de iconos del botón #9999.
  • Se ha corregido la alineación del colisionador de control de escala de BoundsControl#10007.
  • Se ha corregido la categoría de textura de fuente de SDF #10006.
  • Se ha corregido la orientación del controlador de escala y el aplanado automático de BoundsControl#10013.
  • Se han agregado comentarios sobre la corrección del aplanado de BoundsControl#10016.
  • Se han corregido deformaciones poco comunes con la malla de mano durante la reproducción de la animación #10024.
  • Se ha corregido el registro y SpatialAwarenessSurfaceTypes para Scene Understanding #10026.
  • Se ha agregado una directiva de definición independiente al script de la escena de ejemplo Leap #10036.
  • Se ha corregido un problema de BoundsControlOnEnable cuando el tipo de activación no predeterminado se especificaba en el editor #10039.
  • Se han corregido errores de código de bytes de sombreador no válidos para OpenGL ES y Metal #10041.
  • Se ha agregado una llamada ClearProgressBar para corregir la inmovilización de la ventana de compilación en Unity 2020 #10046.
  • Serialización actualizada para recursos de fuente #10047.
  • Se ha corregido la escena de interacción con la mano para que los colisionadores del control deslizante de ajuste sean adecuados #10060.
  • Se ha corregido la matemática de cuaternión de magnetismo de superficie #10074.
  • Mensajes mejorados de la versión de la cámara PV #10077.
  • Se ha corregido el nivel de protección BoundingBoxHelper.GetRawBoundsCorners#10093.
  • Se han actualizado los registros de importación de gLTF para que sean un registro en lugar de varios #10090.
  • Se ha quitado el script MRSceneContent de las escenas que no tienen MRTK #10091.
  • Se han quitado los sistemas de eventos basados en paquetes de escenas de ejemplo para la compatibilidad de Unity 2018 #10092.
  • Se ha quitado la compatibilidad con la versión preliminar de los paquetes de Microsoft OpenXR #10119.
  • Se ha corregido la inmovilización de aplicaciones al recibir datos #10033.
  • Se ha corregido EyeTrackingTarget al no desencadenar OnLookAway al pasar de un colisionador con EyeTrackingTarget a un colisionador sin ese valor #10127.
  • Se ha cambiado la extensión del puntero predeterminado para que el comportamiento del puntero del mouse sea más intuitivo #10075.
  • Se ha actualizado el resumen para aclarar cuándo ejecutar la opción de inicializar #10177.
  • Se ha corregido un error NullReferenceException en LinePointer#10190.
  • Se ha corregido BoundsControl con problemas de escala no uniforme #10133.
  • Se ha corregido el control de IOSMinOSVersion en distintas referencias culturales #10178.
  • Se eliminaron las transmisiones de rayos adicionales de los objetos habilitados para la mirada #10162.
  • Se ha agregado información sobre herramientas al mantener el puntero sobre los distintos perfiles en el inspector del editor para el valor MixedRealityToolkit #10180.
  • Se ha corregido la lista desplegable de comandos de voz y se han actualizado los comandos en EyeTrackingExample #10197.
  • Se han corregido los objetos "gLTF" que aparecían en negro cuando se cargaban con el sombreador estándar de Unity #10209.
  • Se ha corregido la actualización deUnityTouchDeviceManager cuando la propiedad IsEnabled es "false" #10203.
  • Se ha actualizado un nombre de propiedad en el asistente de configuración del botón #10221.
  • Se ha corregido el espacio de coordenadas fijo, el orden de la curva y el formato de cultura en el exportador de objetos #10208.
  • Se ha agregado la opción para mover el punto de comprensión al dedo #10206.
  • Se ha agregado compatibilidad con Leap UnityModules 4.9.1 #10282.
  • Se han realizado algunos cambios menores en ReserializeAssetsUtility.cs#10280.
  • Se han convertido los usos incorrectos de enumValueIndex en intValue#10274.
  • Se han corregido los objetos que se desviaban durante la manipulación cercana #10294.
  • Se han corregido casos en los que el control de límites quitaba de forma agresiva otros componentes #10296.
  • Se ha corregido la iluminación de proximidad de parpadeo #10325.
  • Se ha agregado una comprobación para ver si hay algo conectado a eventos antes de determinar si se van a abrir esos eventos #10330.
  • Se ha cambiado una variedad de cosas secundarias #10316.
  • Se ha introducido una alternativa a HasFlag #10319.
  • Se ha reducido el spam del solucionador del registro de depuración HandConstraint de #10331.
  • Se ha corregido el spam del registro procedente de HandConstraintPalmUp.cs#10326.
  • Se ha habilitado la comprensión de las escenas para la comunicación remota holográfica a través de OpenXR #10338.
  • Se ha agregado un constructor sin parámetros a InteractableOnClickReceiver #10353.
  • Se ha movido el valor prefabricado FingerChasera la carpeta Común del paquete de ejemplos #10358.
  • Se ha agregado un caso de reserva para la selección de mano articulada en OpenXR #10359.
  • Se ha corregido un problema con la importación de UPM de la demostración del streaming del micrófono de Windows #10362.
  • Se ha cambiado el nombre de los perfiles de OpenXR #10363.
  • Se ha mejorado la salida del registro de llamadas con Unity 2021 y se ha corregido un bloqueo al usar AssetBundles #10370.
  • Se han actualizado las cadenas para que sean constantes y el tipo de caché para reducir las asignaciones #10369.
  • Se han corregido los observadores de malla basados en XRSDK al usar la comunicación remota holográfica basada en la aplicación #10366.
  • Visualización integrada de Oculus #10067.
  • Se ha agregado documentación para las propiedades de BoundsControl#10361.
  • Se ha corregido el valor prefabricado de Hand Joint Chaser #10377.
  • Se han corregido los errores de implementación de Oculus Quest 10374.
  • Se ha corregido un problema con el perfil de la escena de ejemplo de Scene Understanding #10368.
  • Se han corregido los errores de consola de MRTK cuando se importaban en las versiones más recientes de Unity 2021.2 #10182.
  • Se ha agregado documentación que falta sobre cómo cambiar los cursores #4934.
  • Instrucciones mejoradas en la página de la versión del paquete de Unity de MRTK para que sean más claras #9575.
  • Se ha corregido un problema que hacía que la escena de demostración de selección de MicStream no procesara la voz (paquete UPM) #9908.
  • Se ha corregido un problema por el que las muestras no se podían importar individualmente en el paquete de ejemplos de MRTK #10216.
  • Se ha agregado la documentación que falta de BoundsControl para algunas propiedades #10346.
  • Se ha corregido un error por el que InteractableOnClickReceiver no se podía agregar a un objeto de juego con un componente interactuable #10341.

Novedades de la versión 2.7.2

Se corrigió un problema de dependencia del paquete UPM.

Había un problema con los paquetes UPM de MRTK 2.7.1 en el que las dependencias no se configuraban correctamente. El problema provocaba que la característica de Mixed Reality no importara correctamente los paquetes de MRTK 2.7.1. Ahora se ha resuelto en la versión 2.7.2. No hay ningún cambio de código en esta versión en comparación con la 2.7.1.

Novedades de la versión 2.7.1

Mostrar versión

El menú del kit de herramientas de >Mixed Reality ahora contiene una entrada Mostrar versión... que examina el paquete de Mixed Reality Toolkit Foundation para determinar la versión de MRTK que utiliza el proyecto.

Menú Mostrar versión

Cuadro de diálogo de la versión de MRTK

Nota

Si MRTK se clonó desde el repositorio GitHub, no se establecerá la información de versión.

No se puede determinar la versión.

Lista de autores

A partir de la versión 2.7.1 de MRTK, el archivo de la lista de autores se incluirá en el paquete Mixed Reality Toolkit Foundation.

Configuración integrada del proyecto OpenXR en el flujo de configuración del configurador

A partir de la versión 2.7.1 de MRTK, los usuarios del complemento OpenXR de Mixed Reality recibirán instrucciones sobre cómo configurar dicho complemento con MRTK. Hay una opción para que los usuarios que tienen como destino HoloLens 2 apliquen automáticamente la configuración recomendada.

Ventana del configurador con instrucciones de configuración de OpenXR

Correcciones de errores y cambios importantes

  • El administrador de joystick de Unity se ha marcado como compatible con la canalización del SDK de XR. #9954, #9994
  • Se agregaron comprobaciones al código de inspector interactuable para evitar errores nulos. #9943
  • Se agregó el proveedor de malla OpenXR para la escena de ejemplo de sombreador de pulsos. #9902
  • Se restauró el perfil de física de manos para la escena de ejemplo. #9915
  • Se completó una limpieza en los scripts HandConstraint#9935.
  • Se corrigieron algunos errores que afectan a la creación y clonación de perfiles. #9982

Novedades de la versión 2.7.0

OpenXR ahora se admite oficialmente en MRTK.

Como parte del proceso de consolidación de los nuevos complementos de OpenXR, ahora MRTK admite oficialmente OpenXR. En comparación con las versiones anteriores, agregamos las siguientes funcionalidades a los proyectos mediante OpenXR:

Si tiene como destino los cascos de HoloLens 2 o Windows Mixed Reality mediante OpenXR, asegúrese de instalar o actualizar el complemento de OpenXR de Mixed Reality a la versión 0.9.5 o posterior mediante la herramienta de características de Mixed Reality; de lo contrario, es posible que pierda algunas de las mejoras anteriores.

Los proveedores de datos del SDK de XR y XR heredado ahora se pueden usar en el mismo perfil.

Además, ahora, los proveedores de datos solo se cargarán cuando se seleccione la canalización adecuada, lo que permite que los proveedores de datos del SDK de XR y XR heredado coexistan en el mismo perfil. Para ello, los proveedores de datos Legacy XR y XR SDK están ahora organizados en diferentes pestañas dentro de la vista del perfil. Esta organización debe ayudar a determinar si el perfil correcto está seleccionado para la canalización XR de destino.

Los proveedores de datos del SDK de XR y XR heredado ahora se pueden unificar en un único perfil.

Para ajustarse a este cambio, los proveedores de datos nulos ya no se cargarán ni se mostrarán en el inspector de perfil. Los usuarios pueden alternar Show null data providers in the profile inspector en Editar -> Configuración del proyecto -> Kit de herramientas de realidad mixta para depurar comportamientos inesperados con proveedores de datos que faltan.

Los proveedores de datos nulos ahora están ocultos de forma predeterminada.Alterne la opción Mostrar proveedores de datos NULL en el inspector de perfiles.

Se ha agregado la configuración de experiencia y un comportamiento asociado del contenido de la escena de Mixed Reality

Los usuarios ahora pueden establecer la configuración de la experiencia, lo que permitirá que MRTK muestre el contenido de la escena de Mixed Reality correctamente en función de la experiencia de destino.

Si la configuración anterior de la escala de experiencia del usuario no coincide con el nuevo perfil de configuración de la experiencia, se le pedirá que la corrija en el inspector.

Migración de la escala de experiencia

El configurador rediseñado ahora guía al usuario a través del proceso de configuración.

El nuevo configurador de MRTK proporciona a los usuarios instrucciones paso a paso para configurar correctamente el proyecto para el desarrollo de XR y su uso con MRTK. Incluye la selección de la canalización de XR, la obtención de los complementos específicos de la plataforma, la importación de TextMesh Pro, la visualización de los ejemplos (al usar UPM) y otras configuraciones recomendadas previamente incluidas para el proyecto.

Configurador que muestra la lista de canalizaciones

Punto de acceso de teletransporte graduado

Se ha graduado un nuevo componente de punto de acceso de teletransporte. Puede agregar un punto de acceso de teletransporte a GameObject para asegurarse de que el usuario está en una determinada posición y orientación cuando se teletransporta a esa ubicación.

Ejemplo de un punto de acceso de teletransporte

Permanencia graduada

El ejemplo y la característica de permanencia ahora han pasado de ser experimentales a graduados. En la escena de ejemplo se incluyen nuevos ejemplos de botones de estilo de HoloLens 2 volumétricos.

Elemento principal de permanencia

Se agregó compatibilidad con los módulos de Unity de Leap Motion de las versiones 4.6.0, 4.7.0, 4.7.1 y 4.8.0.

Las versiones más recientes de los módulos de Unity de Leap Motion ahora son compatibles con MRTK 2.7.0. Consulte Cómo configurar MRTK para Leap Motion para más información.

Muchas gracias a @jackyangzzh por colaborar en la nueva escena LeapMotionOrientationExample.

Los eventos de voz dirigidos ya no están restringidos a los punteros de mirada

Anteriormente, los eventos de voz dirigidos solo podían generarse en objetos que tenían el foco del puntero de mirada. Ahora, los objetos pueden recibir eventos de voz si reciben el foco de cualquier puntero.

Eventos de voz con punteros lejanos

TextToSpeech portado de HTK a MRTK.

El apreciado script TextToSpeech ya está disponible en MRTK para ayudarle a generar voz a partir de texto en la plataforma UWP mediante SpeechSynthesizer. También se ha agregado una escena de ejemplo para mostrar la característica.

Compatibilidad con el modelo de controlador de movimiento proporcionado por el sistema en OpenXR

Se agregó compatibilidad, tanto en el editor como en tiempo de ejecución, con el modelo de controlador de movimiento proporcionado por el sistema en OpenXR.

Ventana del editor que muestra dos modelos de controlador de movimiento

Compatibilidad con la malla de mano articulada de HoloLens 2 en OpenXR

Malla de mano que se ejecuta en el dispositivo en una escena de ejemplo de MRTK

Compatibilidad con los hápticos de controlador en WMR heredado, el complemento XR de Windows y OpenXR

Se agregó compatibilidad con los hápticos de controlador en WMR heredado, el complemento XR de Windows y OpenXR. #9735

Compatibilidad con el seguimiento de los ojos en el complemento XR de Windows

Se agregó compatibilidad con el seguimiento de los ojos para las versiones mínimas del complemento XR de Windows 2.7.0 (Unity 2019), 4.4.2 (Unity 2020) y 5.2.2 (Unity 2021). #9609

Correcciones de errores y cambios importantes

  • La detección de la acción de reducir se ha mejorado. Ahora es más difícil anular accidentalmente el gesto de acercar. #9576
  • Ahora, los objetos con el componente Manipulador de objetos mantienen la velocidad de forma coherente en la versión cuando se establece la marca. #9733
  • Ahora, el desplazamiento hacia atrás comprueba si hay algún suelo, lo que ayuda a evitar situaciones en las que la cámara grabe el entorno o en las que el usuario quede flotando en un espacio vacío. #9697
  • IsNearObject ahora es una propiedad virtual, lo que proporciona más flexibilidad al extender la esfera o el puntero de toque. #9803
  • En los botones ahora aparece la palabra clave adecuada al mostrar el comando de voz disponible. #9824
  • Los controladores de Oculus ahora usan su propio visualizador independiente, lo que impide que la visualización de MRTK entre en conflicto con la visualización del paquete de integración de Oculus. #9589
  • Los scripts relacionados con el teclado se han cambiado para ajustarse al comportamiento de las versiones más recientes de Unity (2019.4.25 y posteriores y 2020.3.2 y posteriores). A partir de la versión, todavía hay un error de finalización automática y un error de campo de entrada de TMP (ambos son externos a MRTK) que afecta a HoloLens. Para más información, consulte #9056 y #9724.
  • Se ha mejorado el rendimiento de la colección de objetos de desplazamiento. También se ha corregido un problema que provocaba que el valor GameObject de la colección perdiera material cuando se duplicaba. #9813, #9718
  • En el script de demostración de descripción de escenas, se ha agregado la función GetSceneObjectsOfType para recuperar todo el objeto de escena observado de un tipo determinado. #9524, #9744
  • En la herramienta de compilación de línea de comandos, solo se incluirán las escenas especificadas por las marcas sceneList o sceneListFile (cuando haya alguna marca) en la compilación. #9695
  • En la herramienta de compilación, hay una nueva opción para especificar una ruta de acceso a nuget.exe y usarla para realizar la restauración de paquetes en lugar de usar msbuild (la opción predeterminada). #9556
  • Se corrigió un problema por el que el uso del complemento XR de Windows podía dar lugar a uniones de mano obsoletas y mallas de mano dobles. #9890
  • Se corrigió un problema en el que, al usar la característica de comunicación remota automática del complemento XR de Windows, faltaban entradas e interacciones. #9868
  • Se ha corregido un problema en el que BuildDeployWindow intentaba consultar una clave del Registro no válida para la ruta de acceso de Windows SDK. #9664
  • Los importadores glTF de MRTK ahora son opcionales. Si hay varios importadores glTF, los de MRTK se pueden deshabilitar al agregar MRTK_GLTF_IMPORTER_OFF a los símbolos de definición de scripting personalizados. #9658
  • Se corrigió un problema en el que los controladores de Knuckles en OpenVR no se detectaban correctamente. #9881
  • Se redujo el número de asignaciones por fotograma al visualizar la malla de mano. #9756
  • Se agregó un elemento de menú para iniciar el paquete de ejemplos de MRTK (en el administrador de paquetes de Unity) para facilitar la importación de ejemplos. #9798
  • Se redujo el número de advertencias de tiempo de carga al usar Unity 2020.3.
  • Se agregó la documentación de la característica de la ventana de compilación: visite la página

Problemas conocidos

Falta un archivo asmdef (paquete UPM) en las demostraciones de audio.

Cuando se importa MRTK a través de la herramienta de características de Mixed Reality, se agregan ejemplos y demostraciones al proyecto mediante la interfaz de usuario del administrador de paquetes de Unity. Una vez importadas las demostraciones de audio, la escena WindowsMicrophoneStreamDemo.unity no se comportará correctamente. Este comportamiento se debe a que falta un archivo .asmdef para el ejemplo.

Para evitar este problema, realice los pasos siguientes:

  • Copie la carpeta Library/PackageCache/com.microsoft.mixedreality.toolkit.examples@[...]/MRTK.Examples.asmdef into your "Assets/Samples/Mixed Reality Toolkit Examples".
  • Cambie el nombre del archivo copiado a Examples.
  • Abra el archivo Examples.
  • En el cuadro Nombre, reemplace el contenido por Examples.
  • Haga clic en Aplicar.
  • Compilación e implementación

Este problema se corregirá en una versión futura de Visual Studio 2017.

La ventana de compilación de MRTK desencadena el cuadro de diálogo "Importación de recursos" indefinido en Unity 2020.3.

Hay un problema conocido con la ventana de compilación de MRTK en Unity 2020.3, donde el cuadro de diálogo "Importar recursos" no se completa después de una compilación de UWP. Este problema se está investigando con Unity.

Advertencias del representador de lienzo de TextMesh Pro en Unity 2020

La advertencia siguiente se registra en la mayoría de las escenas de ejemplo de MRTK mientras se usa Unity 2020:

Please remove the `CanvasRenderer` component from the [TextMeshPro] GameObject as this component is no longer necessary.

La advertencia de lienzo se agregó en la versión 3.0.3 de TextMesh Pro. Estas advertencias no afectan a las escenas de ejemplo de MRTK y se pueden borrar desde la consola. Para más información, consulte Problema 9811.