Skapa ditt första HoloLens Unreal-program

Den här guiden vägleder dig genom att få din första Mixed Reality app som körs på HoloLens i Unreal Engine. I traditionen "Hello World" skapar du en enkel app som visar en kub på skärmen. För att göra det mer användbart skapar du också din första gest för att rotera kuben och avsluta programmet.

Mål

  • Starta ett HoloLens-projekt
  • Aktivera rätt plugin-program
  • Skapa en ARSessionConfig-datatillgång
  • Konfigurera gestindata
  • Skapa en grundläggande nivå
  • Implementera en nypa-gest

Skapa ett nytt projekt

Det första du behöver är ett projekt att arbeta med. Om du är unreal-utvecklare första gången måste du ladda ned stödfiler från Epic Launcher.

  1. Starta Unreal Engine
  2. I Nya projektkategorier väljer du Spel och klickar på Nästa:

Fönstret Senaste projekt öppnas med Spel markerat

  1. Välj mallen Tom och klicka på Nästa:

Webbläsarfönster för overkligt projekt med en tom mall markerad

  1. I Projektinställningar anger du C++, Skalbar 3D eller 2D, Mobil/surfplatta och Inget startinnehåll. Välj sedan en plats för att spara och klicka på Skapa projekt

Anteckning

Du använder ett C++ i stället för ett skissprojekt för att vara redo att använda OpenXR-plugin-programmet senare. I den här snabbstarten används standardprogrammet OpenXR som medföljer Unreal Engine. Du rekommenderas dock att ladda ned och använda det officiella Microsoft OpenXR-plugin-programmet. Det kräver att projektet är ett C++-projekt.

Fönstret Projektinställningar med alternativ för projekt, prestanda, målplattform och startinnehåll markerade

Det nya projektet bör öppnas automatiskt i Unreal-redigeraren, vilket innebär att du är redo för nästa avsnitt.

Aktivera nödvändiga plugin-program

Du måste aktivera två plugin-program innan du kan börja lägga till objekt i scenen.

  1. Öppna Redigera > plugin-program och välj Förhöjd verklighet i listan med inbyggda alternativ.
  • Rulla ned till HoloLens och markera Aktiverad

Fönstret Plugin-program med avsnittet för förhöjd verklighet öppet och HoloLens markerat

  1. Skriv OpenXR i sökrutan längst upp till höger och aktivera plugin-programmet OpenXR och OpenXRMsftHandInteraction :

Fönstret Plugin-program med OpenXR aktiverat

Fönstret Plugin-program med Open XR Msft Hand Interaction aktiverat

  1. Starta om redigeringsprogrammet

Anteckning

Den här självstudien använder OpenXR, men de två plugin-program som du har installerat ovan tillhandahåller för närvarande inte den fullständiga funktionsuppsättningen för HoloLens-utveckling. HandInteraction-plugin-programmet räcker för gesten "Nypa" som du kommer att använda senare, men om du vill gå längre än grunderna måste du ladda ned Plugin-programmet Microsoft OpenXR.

När plugin-programmet är aktiverat kan du fokusera på att fylla det med innehåll.

Skapa en nivå

Nästa uppgift är att skapa en spelarkonfiguration med en startpunkt och en kub för referens och skalning.

  1. Välj Arkiv > Ny nivå och välj Tom nivå. Standardscenen i visningsområdet bör nu vara tom
  2. På fliken Lägen väljer du Grundläggande och drar PlayerStart till scenen
  • På fliken Information anger du Plats till X = 0, Y = 0 och Z = 0 för att placera användaren i mitten av scenen när appen startar

Overklig redigeringsscen med plats och spelarstart tillagd

  1. Dra en kub till scenen från fliken Grundläggande
  • Ange kubens Plats till X = 50, Y = 0 och Z = 0 för att placera kuben 50 cm från spelaren vid start
  • Ändra kubens skala till X = 0,2, Y = 0,2 och Z = 0,2

Du kan inte se kuben om du inte lägger till ett ljus i scenen, vilket är din sista uppgift innan du testar scenen.

  1. I panelen Lägen växlar du till fliken Ljus och drar ett riktningsljus till scenen
  • Placera ljuset ovanför PlayerStart så att du kan se det

Overklig redigeringsscen med kub och riktningsljus tillagt

  1. Gå till Spara aktuell fil>, ge nivån namnet Main och välj Spara

När scenen är inställd trycker du på Spela upp i verktygsfältet för att se kuben i praktiken! När du är klar med att beundra ditt arbete trycker du på Esc för att stoppa programmet.

Scen i uppspelningsläge med kuben mitt på skärmen

Nu när scenen har konfigurerats kan du förbereda den för vissa grundläggande interaktioner i AR. Först måste du skapa en AR-session och kan lägga till skisser för att aktivera handinteraktion.

Lägga till en sessionstillgång

AR-sessioner i Unreal sker inte på egen hand. Om du vill använda en session behöver du en ARSessionConfig-datatillgång att arbeta med, vilket är nästa uppgift:

  1. I innehållswebbläsaren väljer du Lägg till ny > diverse > datatillgång och kontrollerar att du är på rotnivå för innehållsmappen
  2. Välj ARSessionConfig, klicka på Välj och ge tillgången namnet ARSessionConfig:

Välj ett fönster för datatillgångsklassen öppet med AR-sessionskonfigurationstillgången markerad

  1. Dubbelklicka på ARSessionConfig för att öppna den, Spara med alla standardinställningar och återgå till huvudfönstret:

Fönstret information om AR-sessionskonfigurationstillgång

När det är klart är nästa steg att se till att AR-sessionen startar och stoppas när nivån läses in och slutar. Som tur är har Unreal en särskild skiss som kallas en nivåskiss som fungerar som en global händelsegraf på hela nivån. Genom att ansluta ARSessionConfig-tillgången i nivåskissen garanterar du att AR-sessionen utlöses direkt när spelet börjar spelas.

  1. I verktygsfältet i redigeraren väljer du Skisser Öppna nivåskiss>:

Skissmenyn öppen med skissalternativet öppen nivå markerat

  1. Dra körningsnoden (vänsterriktad pilikon) från Event BeginPlay och release
  • Sök efter noden Starta AR-session och tryck på Retur
  • Klicka på listrutan Välj tillgång under Sessionskonfiguration och välj tillgången ARSessionConfig

Skissdiagram med händelsestart som är ansluten till start ar-sessionsfunktionen

  1. Högerklicka var som helst i EventGraph och skapa en ny Event EndPlay-nod .
  • Dra körningsstiftet och släpp och sök sedan efter noden Stop AR Session (Stoppa AR-session ) och tryck på Retur
  • Tryck på Kompilera, spara och återgå till huvudfönstret

Viktigt

Om AR-sessionen fortfarande körs när nivån slutar kan vissa funktioner sluta fungera om du startar om appen när du strömmar till ett headset.

Händelseslutsnod som är kopplad till stop ar-sessionsfunktionen

Konfigurera indata

  1. Välj Redigera > projektinställningar och gå till motorindata >
  2. + Välj ikonen bredvid Åtgärdsmappningar och skapa åtgärder för RightPinch och LeftPinch:

Inställningar för bindning av indata med höger och vänster nypåtgärdsmappningar markerade

  1. Mappa åtgärderna RightPinch och LeftPinch till respektive OpenXR Msft Hand Interaction-åtgärder :

Åtgärdsmappningar med Interaktionsalternativ för Open XR Msft Hand markerade

Konfigurera gester

Nu när vi har konfigurerat indata kan vi komma till den spännande delen: Lägga till gester! Låter rotera kuben till höger nypa och avsluta programmet på vänster nypa.

  1. Öppna nivåskissen och lägg till en InputAction RightPinch och InputAction LeftPinch
  • Anslut den högra nypningshändelsen till en AddActorLocalRotation med kuben som mål och Deltarotation inställt på X = 0, Y = 0 och Z = 20. Kuben roteras nu med 20 grader varje gång du nyper
  • Anslut den vänstra nypningshändelsen till Avsluta spel

Nivå bluprint öppen med indataåtgärder för höger och vänster nypa händelser

  1. I kubens transformeringsinställningar anger du Mobilitet till Flyttbar så att den kan flyttas dynamiskt:

Transformera inställningar med mobilitetsegenskapen markerad

Nu är du redo att distribuera och testa programmet!