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.
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 corrigió el problema de BoundsControl
OnEnable
cuando el tipo de activación no predeterminado especificado 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 conEyeTrackingTarget
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
NullReferenceException
problema enLinePointer
#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 de
UnityTouchDeviceManager
cuando la propiedadIsEnabled
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. - Usos incorrectos convertidos de
enumValueIndex
aintValue
#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 correo no deseado 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.
Nota:
Si MRTK se clonó desde el repositorio GitHub, no se establecerá la información de 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.
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:
- Compatibilidad con el modelo de controlador de movimiento proporcionado por el sistema
- Compatibilidad con gestos de WinMR (selección, mantener presionado, manipulación y navegación) #9843
- Compatibilidad con los hápticos del controlador
- Compatibilidad con la malla de mano articulada en HoloLens 2
- Compatibilidad con la asignación espacial en HoloLens 2 #9567, #9827
- Compatibilidad con la descripción de escenas en HoloLens 2 #9744
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.
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 -> Mixed Reality Toolkit para depurar comportamientos inesperados con proveedores de datos que faltan.
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.
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.
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.
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.
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.
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.
Compatibilidad con la malla de mano articulada de HoloLens 2 en OpenXR
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
osceneListFile
(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 usarmsbuild
(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 importadoresglTF
, los de MRTK se pueden deshabilitar al agregarMRTK_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.