Table of Contents

Estrategias de control active para target y origin

A través del siguiente contenido, aprenderá las estrategias predeterminadas de visualización y ocultación de objetos bajo target y origin, y cómo ajustarlas según sea necesario.

Antes de comenzar

  • Lea Target para comprender los conceptos básicos, estados y ciclo de vida de target.
  • Lea XR Origin para comprender los conceptos básicos, composición y ciclo de vida de XR Origin.

Active control y tipos de estrategias de control

Durante la ejecución de la sesión, target y origin experimentan cambios de estado como seguimiento y pérdida. A través de la estrategia de control active, se puede gestionar automáticamente el comportamiento de visualización y ocultación de los objetos bajo target y origin.

En Unity, el componente ActiveController se encarga de gestionar automáticamente el estado GameObject.activeSelf de los objetos de target y origin, para mostrar el contenido cuando target es seguido o cuando el seguimiento de movimiento comienza a rastrear, y ocultar el contenido cuando target se pierde o antes de que el seguimiento de movimiento se inicialice correctamente.

ActiveController ofrece dos estrategias de control active diferentes:

Por defecto, TargetController utiliza la estrategia ActiveWhileTracked, lo que significa que cuando target es seguido, target y su contenido se activan, mientras que cuando se pierde el seguimiento, target y su contenido se desactivan.

Por defecto, XROriginChildController utiliza la estrategia ActiveAfterFirstTracked, lo que significa que antes de que el seguimiento de movimiento se inicialice correctamente, origin y su contenido están desactivados, y una vez que el seguimiento de movimiento se inicializa con éxito, origin y su contenido permanecen activados continuamente.

Selección de diferentes estrategias de control active

Abra el panel Inspector, en el menú desplegable Strategy seleccione Input

alt text

Luego, en el lado derecho, seleccione la estrategia de control active deseada para anular la estrategia predeterminada.

alt text

En el script, puede anular la estrategia de control active predeterminada a través de la propiedad OverrideStrategy.

Por ejemplo, el siguiente código muestra cómo establecer la estrategia de control active de target en ActiveAfterFirstTracked:

target.ActiveController.OverrideStrategy = ActiveController.Strategy.ActiveAfterFirstTracked;

Los cambios en la estrategia active surten efecto inmediatamente y actualizan GameObject.activeSelf según el estado de seguimiento actual.

Desactivar el control active

Si necesita deshabilitar completamente el control active, por ejemplo, para gestionarlo manualmente según sea necesario, puede desactivar el componente ActiveController.

alt text

En el script, puede desactivar el control active estableciendo la propiedad ActiveController.enabled.

target.ActiveController.enabled = false;

Los cambios en la propiedad enabled surten efecto inmediatamente y ya no actualizarán GameObject.activeSelf según el estado de seguimiento. Si vuelve a habilitar el componente ActiveController, GameObject.activeSelf se actualizará según el estado de seguimiento actual.