Table of Contents

Strategia di controllo active per target e origin

Attraverso il seguente contenuto, apprenderai le strategie predefinite di visualizzazione e nascondimento degli oggetti sotto target e origin, e come regolarle secondo necessità.

Prima di iniziare

  • Leggi Target per comprendere i concetti base, gli stati e il ciclo di vita del target.
  • Leggi XR Origin per comprendere i concetti base, la composizione e il ciclo di vita di XR Origin.

Controllo active e tipi di strategie di controllo

Durante l'esecuzione della session, target e origin attraversano cambiamenti di stato come il tracciamento e la perdita. Tramite la strategia di controllo active, è possibile gestire automaticamente il comportamento di visualizzazione e nascondimento degli oggetti sotto target e origin.

In Unity, il componente ActiveController è responsabile della gestione automatica dello stato GameObject.activeSelf degli oggetti di target e origin, in modo da visualizzare i contenuti quando il target viene tracciato o il tracciamento del movimento inizia, e nasconderli quando il target viene perso o prima che il tracciamento del movimento sia inizializzato con successo.

ActiveController offre due diverse strategie di controllo active:

Per impostazione predefinita, TargetController utilizza la strategia ActiveWhileTracked, il che significa che quando il target viene tracciato, il target e i suoi contenuti vengono attivati, mentre quando il tracciamento viene perso, il target e i suoi contenuti vengono disattivati.

Per impostazione predefinita, XROriginChildController utilizza la strategia ActiveAfterFirstTracked, il che significa che prima dell'inizializzazione riuscita del tracciamento del movimento, l'origine e i suoi contenuti vengono disattivati, mentre una volta inizializzato con successo, l'origine e i suoi contenuti rimangono attivati.

Scegliere una diversa strategia di controllo active

Apri il pannello Inspector, nel menu a discesa Strategy seleziona Input

alt text

Quindi a destra seleziona la strategia di controllo active desiderata per sovrascrivere quella predefinita.

alt text

Nello script, è possibile sovrascrivere la strategia di controllo active predefinita tramite la proprietà OverrideStrategy.

Ad esempio, il seguente codice mostra come impostare la strategia di controllo active del target su ActiveAfterFirstTracked:

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

Le modifiche alla strategia active entrano in vigore immediatamente e aggiornano GameObject.activeSelf in base allo stato corrente del tracciamento.

Disattivare il controllo active

Se è necessario disabilitare completamente il controllo active, ad esempio per gestirlo manualmente secondo necessità, è possibile disattivarlo disabilitando il componente ActiveController.

alt text

Nello script, è possibile disattivare il controllo active impostando la proprietà ActiveController.enabled.

target.ActiveController.enabled = false;

Le modifiche alla proprietà enabled entrano in vigore immediatamente e non aggiorneranno più GameObject.activeSelf in base allo stato del tracciamento. Se il componente ActiveController viene riabilitato, GameObject.activeSelf verrà aggiornato in base allo stato corrente del tracciamento.