Botones : MRTK3

Button Main

Un botón ofrece al usuario una forma de desencadenar una acción inmediata. Es uno de los componentes más fundamentales de la realidad mixta, y proporcionar interacciones de botón satisfactorias y confiables es esencial para una experiencia de realidad mixta de calidad. MRTK proporciona dos categorías de objetos prefabricados de botón: basados en lienzo y no basados en Canvas. Ambas configuraciones usan el PressableButton script, una subclase de StatefulInteractable extendida para incluir comportamientos específicos de los botones.

Obtenga más información sobre cómo funciona el sistema híbrido de la interfaz de usuario de Canvas.

Escenas de ejemplo

Si usa el proyecto de plantilla de desarrollo, hay varias escenas de ejemplo disponibles que muestran los objetos prefabricados de botón disponibles.

CanvasUITearSheet.unity muestra todas las variantes prefabricadas de botón basadas en canvas disponibles en MRTK.

Canvas Tearsheet

CanvasExample.unity muestra algunos ejemplos de creación de diseños más grandes mediante los componentes basados en Canvas.

Canvas Example Scene

UITearSheet.unity muestra todas las variantes prefabricadas de botón no basadas en canvas disponibles en MRTK.

Button Example Scene

Objetos prefabricados (Canvas)

Los botones basados en lienzo son flexibles y configurables, y se pueden cambiar de tamaño a cualquier dimensión o proporción. Por lo tanto, solo se proporciona un pequeño número de objetos prefabricados de botón.

  • EmptyButton proporciona la superficie presionable o la placa frontal, la placa posterior holográfica y el efecto iluminado. No hay texto, icono, etiqueta u otro contenido; esto es para que se puedan crear controles de tipo botón más abstractos como una variante de este objeto prefabricado sin interferir con el texto o el contenido del icono.
  • ActionButton es un botón simple que incluye un icono, texto y una etiqueta. Estos componentes individuales se pueden habilitar o deshabilitar, y el sistema de diseño se adaptará en consecuencia.

Se pueden agregar mejoras adicionales al botón, como el indicador de modificador de alternancia. Las características que no están diseñadas para moverse con la placa frontal deben adjuntarse al componente de la placa posterior.

Adding a toggle switch

Objetos prefabricados (sin lienzo)

Los botones que no son de lienzo no se pueden cambiar de tamaño; Como resultado, se proporciona un gran número de objetos prefabricados de botón en muchas permutaciones de tamaño y características. Estos objetos prefabricados se denominan en el formato: PressableButton_SIZE_STYLE. Por ejemplo,

  • PressableButton_32x32mm_IconAndText: botón de tamaño de 32 x 32 mm con icono y texto
  • PressableButton_128x32mm_SinglelineTextWithSubtitle: botón ancho de tamaño de 128 x 32 mm con texto de una sola línea + texto de subtítulo

Estructura (lienzo)

Las distintas partes de un actionButton se pueden activar o desactivar para personalizar el aspecto y el comportamiento del botón. Hemos disectado dos configuraciones posibles diferentes para mostrar las distintas partes del objeto prefabricado del botón. Tenga en cuenta que el "retroceso" no está visible en estas capturas de pantalla, ya que el botón no se está presionando activamente.

En primer lugar, una configuración mayor en la que el objeto Text principal está activo y usa estilos insertados para mostrar un encabezado y un sub text. Large Canvas button structure En segundo lugar, una configuración más pequeña donde la etiqueta está activa para mostrar una descripción de la acción debajo del icono. El objeto Text principal está deshabilitado. Small Canvas button structure

Estructura (sin lienzo)

En la captura de pantalla siguiente se muestra la estructura de un botón no basado en lienzo.

Non-canvas button structure

Clase PressableButton

La PressableButton clase se deriva de StatefulInteractable con funciones nuevas e invalidadas específicas de los botones. En el inspector puede configurar las opciones relacionadas con la prensa volumétrica además de todas las demás opciones configurables de StatefulInteractable. PressableButton inspector screenshot