Puntamento con la testa in Unity

Lo sguardo fisso è il modo principale per consentire agli utenti di scegliere come destinazione gli ologrammi creati dall'app in Realtà mista.

Implementazione dello sguardo fisso

Concettualmente, si determina lo sguardo fisso proiettando un raggio in avanti dal visore VR dell'utente per vedere cosa colpisce. In Unity, la posizione e la direzione della testa dell'utente vengono esposte tramite la fotocamera, in particolare UnityEngine.Camera.main. transform.forward e UnityEngine.Camera.main. transform.position.

La chiamata a Physics.RayCast ti offre un RaycastHit contenente informazioni sulla collisione, tra cui il punto di collisione 3D e l'altro GameObject che ha colpito il raggio dello sguardo fisso.

Esempio: Implementare lo sguardo fisso

void Update()
{
       RaycastHit hitInfo;
       if (Physics.Raycast(
               Camera.main.transform.position,
               Camera.main.transform.forward,
               out hitInfo,
               20.0f,
               Physics.DefaultRaycastLayers))
       {
           // If the Raycast has succeeded and hit a hologram
           // hitInfo's point represents the position being gazed at
           // hitInfo's collider GameObject represents the hologram being gazed at
       }
}

Procedure consigliate

Mentre l'esempio precedente attiva un singolo raycast dal ciclo di aggiornamento per trovare i punti head dell'utente di destinazione, è consigliabile usare un singolo oggetto per gestire tutti i processi di puntamento della testa. La combinazione della logica dello sguardo con la testa salverà la potenza di elaborazione preziosa dell'app e limiterà il raycasting a uno per fotogramma.

Visualizzazione dello sguardo fisso

Proprio come con un puntatore del mouse in un computer, è necessario implementare un cursore che rappresenta lo sguardo fisso dell'utente. Conoscere il contenuto con cui un utente sta puntando aumenta la fiducia in ciò che sta per interagire.

Sguardo fisso nell'Realtà mista Toolkit

È possibile accedere allo sguardo diretto da Gestione input in MRTK.

Successivo checkpoint di sviluppo

Se si sta seguendo il percorso di sviluppo di Unity, si è in corso l'esplorazione dei blocchi predefiniti principali di MRTK. Da qui è possibile passare al blocco predefinito successivo:

In alternativa, passare alle API e funzionalità della piattaforma di realtà mista:

È sempre possibile tornare ai checkpoint per lo sviluppo con Unity in qualsiasi momento.

Vedere anche