Huvud blick i Unity

Blick är det primära sättet för användare att rikta hologram som din app skapar i Mixed Reality.

Implementera huvud blick

Konceptuellt bestämmer du huvud blicken genom att projicera en stråle framåt från användarens headset för att se vad det träffar. I Unity exponeras användarens huvudposition och riktning via kameran, särskilt UnityEngine.Camera.main. transform.forward och UnityEngine.Camera.main. transform.position.

Att anropa Physics.RayCast ger dig en RaycastHit som innehåller information om kollisionen, inklusive 3D-kollisionspunkten och den andra GameObject som huvud-blickstrålen träffade.

Exempel: Implementera huvud-blick

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
       }
}

Bästa praxis

I exemplet ovan utlöses en enda raycast från uppdateringsloopen för att hitta målet som användarens huvudpunkter finns på, men vi rekommenderar att du använder ett enda objekt för att hantera alla processer med huvud blick. Genom att kombinera logiken för huvud blick sparar du din app värdefull bearbetningskraft och begränsar din raycasting till en per bildruta.

Visualisera huvud-blick

Precis som med en muspekare på en dator bör du implementera en markör som representerar användarens huvud. Att veta vilket innehåll en användare riktar in sig på ökar förtroendet för vad de ska interagera med.

Blick i Mixed Reality Toolkit

Du kan komma åt blicken från Input Manager i MRTK.

Nästa kontrollpunkt för utveckling

Om du följer unity-utvecklingsresan som vi har lagt fram är du mitt uppe i att utforska MRTK-kärnbyggstenarna. Härifrån kan du fortsätta till nästa byggblock:

Eller gå vidare till Mixed Reality plattformsfunktioner och API:er:

Du kan alltid gå tillbaka till unity-utvecklingskontrollpunkterna när som helst.

Se även