Uw eerste HoloLens Unreal-toepassing maken

Deze handleiding begeleidt u bij het verkrijgen van uw eerste Mixed Reality app die wordt uitgevoerd op de HoloLens in Unreal Engine. In de traditie van 'Hallo wereld' maakt u een eenvoudige app die een kubus op het scherm weergeeft. Om het nuttiger te maken, maakt u ook uw eerste beweging om de kubus te draaien en de toepassing af te sluiten.

Doelen

  • Een HoloLens-project starten
  • De juiste invoegtoepassingen inschakelen
  • Een ARSessionConfig-gegevensasset maken
  • Invoer voor bewegingen instellen
  • Een basisniveau bouwen
  • Een knijpbeweging implementeren

Een nieuw project maken

Het eerste dat u nodig hebt, is een project om mee te werken. Als u voor het eerst een Unreal-ontwikkelaar bent, moet u ondersteunende bestanden downloaden van epic launcher.

  1. Unreal Engine starten
  2. Selecteer games in de nieuwe projectcategorieën en klik op Volgende:

Venster Recente projecten geopend met Games gemarkeerd

  1. Selecteer de sjabloon Leeg en klik op Volgende:

Onrealistisch projectbrowservenster met Lege sjabloon gemarkeerd

  1. Stel in de ProjectinstellingenC++, Scalable 3D of 2D, Mobile/Tablet en No Starter Content in, kies een opslaglocatie en klik op Create Project

Notitie

U gebruikt een C++ in plaats van een Blauwdrukproject om later klaar te zijn voor het gebruik van de OpenXR-invoegtoepassing. Deze quickstart maakt gebruik van de standaard OpenXR-invoegtoepassing die wordt geleverd bij Unreal Engine. Het downloaden en gebruiken van de officiële Microsoft OpenXR-invoegtoepassing wordt echter aanbevolen. Hiervoor moet het project een C++-project zijn.

Venster Projectinstellingen met opties voor project, prestaties, doelplatform en startersinhoud gemarkeerd

Uw nieuwe project wordt automatisch geopend in de Unreal-editor, wat betekent dat u klaar bent voor de volgende sectie.

Vereiste invoegtoepassingen inschakelen

U moet twee invoegtoepassingen inschakelen voordat u objecten aan de scène kunt toevoegen.

  1. Open Invoegtoepassingen bewerken > en selecteer Augmented Reality in de lijst met ingebouwde opties.
  • Schuif omlaag naar HoloLens en schakel Ingeschakeld in

Venster Invoegtoepassingen met de sectie Augmented Reality geopend en HoloLens gemarkeerd

  1. Typ OpenXR in het zoekvak rechtsboven en schakel de invoegtoepassingen OpenXR en OpenXRMsftHandInteraction in:

Venster Invoegtoepassingen met OpenXR ingeschakeld

Venster Invoegtoepassingen met Open XR Msft Hand Interaction ingeschakeld

  1. De editor opnieuw starten

Notitie

In deze zelfstudie wordt OpenXR gebruikt, maar de twee invoegtoepassingen die u hierboven hebt geïnstalleerd, bieden momenteel niet de volledige functieset voor HoloLens-ontwikkeling. De invoegtoepassing HandInteraction is voldoende voor de 'Pinch'-beweging die u later gaat gebruiken, maar als u verder wilt gaan dan de basisbeginselen, moet u de Microsoft OpenXR-invoegtoepassing downloaden.

Als de invoegtoepassingen zijn ingeschakeld, kunt u zich richten op het vullen ervan met inhoud.

Een niveau maken

De volgende taak is het maken van een speler-instelling met een beginpunt en een kubus voor referentie en schaal.

  1. Selecteer Bestand > Nieuw niveau en kies Leeg niveau. De standaardscène in de viewport moet nu leeg zijn
  2. Selecteer op het tabblad Modide optie Basis en sleep PlayerStart naar de scène
  • Stel op het tabblad DetailsLocatie in op X = 0, Y = 0 en Z = 0 om de gebruiker in het midden van de scène te plaatsen wanneer de app wordt gestart

Onrealistische editorscène met locatie en spelerstart toegevoegd

  1. Sleep vanaf het tabblad Basis een kubus naar de scène
  • Stel de locatie van de kubus in op X = 50, Y = 0 en Z = 0 om de kubus op 50 cm afstand van de speler bij het begin te plaatsen
  • De schaal van de kubus wijzigen in X = 0,2, Y = 0,2 en Z = 0,2

U kunt de kubus alleen zien als u een lampje toevoegt aan uw scène. Dit is uw laatste taak voordat u de scène test.

  1. Ga in het deelvenster Modi naar het tabblad Lichten en sleep een richtingslampje naar de scène
  • Plaats het lampje boven PlayerStart zodat u het kunt zien

Onrealistische editorscène met kubus en richtingslicht toegevoegd

  1. Ga naar Bestand > Huidige opslaan, geef uw niveau de naam Main en selecteer Opslaan

Druk met de scèneset op Afspelen op de werkbalk om de kubus in actie te zien. Wanneer u klaar bent met het bewonderen van uw werk, drukt u op Esc om de toepassing te stoppen.

Scène in de afspeelmodus met de kubus in het midden van het scherm

Nu de scène is ingesteld, kunnen we deze voorbereiden op enkele basisinteracties in AR. Eerst moet u een AR-sessie maken en blauwdrukken toevoegen om interactie met de hand mogelijk te maken.

Een sessieasset toevoegen

AR-sessies in Unreal gebeuren niet vanzelf. Als u een sessie wilt gebruiken, hebt u een ARSessionConfig-gegevensasset nodig om mee te werken. Dit is uw volgende taak:

  1. Selecteer in de Inhoudsbrowserde optie Nieuwe > diverse > gegevensasset toevoegen en zorg ervoor dat u zich op het niveau van de hoofdmap Inhoud bevindt
  2. Selecteer ARSessionConfig, klik op Selecteren en geef de asset de naam ARSessionConfig:

Venster Gegevensassetklasse kiezen geopend met ar-sessieconfiguratieasset gemarkeerd

  1. Dubbelklik op ARSessionConfig om het te openen, opslaan met alle standaardinstellingen en terug te keren naar het hoofdvenster:

Venster details ar-sessieconfiguratieasset

Als u dat hebt gedaan, is de volgende stap om ervoor te zorgen dat de AR-sessie wordt gestart en stopt wanneer het niveau wordt geladen en beëindigd. Gelukkig heeft Unreal een speciale blauwdruk, een level blueprint , die fungeert als een algemene gebeurtenisgrafiek op niveau. Het verbinden van de ARSessionConfig-asset in de Level Blueprint zorgt ervoor dat de AR-sessie wordt geactiveerd op het moment dat de game begint te spelen.

  1. Selecteer blauwdrukken op open niveau blauwdrukken >in de werkbalk van de editor:

Blauwdrukmenu geopend met blauwdrukoptie op open niveau gemarkeerd

  1. Sleep het uitvoeringsknooppunt (pictogram met pijl naar links) uit gebeurtenis begin Afspelen en vrijgeven
  • Zoek het knooppunt Ar-sessie starten en druk op Enter
  • Klik op de vervolgkeuzelijst Asset selecteren onder Sessieconfiguratie en kies de ASSET ARSessionConfig

Blauwdrukgrafiek met gebeurtenis begin afspelen verbonden met de functie start ar-sessie

  1. Klik met de rechtermuisknop op een willekeurige plaats in de EventGraph en maak een nieuw Event EndPlay-knooppunt .
  • Sleep de uitvoeringspin en los, zoek naar het knooppunt Stop AR-sessie en druk op Enter
  • Druk op Compileren en vervolgens op Opslaan en ga terug naar het hoofdvenster

Belangrijk

Als de AR-sessie nog steeds wordt uitgevoerd wanneer het niveau eindigt, werken bepaalde functies mogelijk niet meer als u uw app opnieuw start tijdens het streamen naar een headset.

Knooppunt voor einde van gebeurtenis afspelen gekoppeld aan de stop ar-sessiefunctie

Invoer instellen

  1. Selecteer Projectinstellingen bewerken > en ga naar de engine-invoer >
  2. Selecteer het + pictogram naast Actietoewijzingen en maak de acties RightPinch en LeftPinch :

Instellingen voor bindingsinvoer met linkse en rechtse knijpactietoewijzingen gemarkeerd

  1. Wijs de acties RightPinch en LeftPinch toe aan de respectieve OpenXR Msft Hand Interaction-acties :

Actietoewijzingen met opties voor Open XR Msft Hand-interactie gemarkeerd

Bewegingen instellen

Nu we de invoer hebben ingesteld, kunnen we naar het spannende gedeelte gaan: Bewegingen toevoegen! We draaien de kubus aan de rechterkant en sluiten de toepassing bij links knijpen.

  1. Open de level blueprint en voeg een InputAction RightPinch en InputAction LeftPinch toe
  • Verbind de rechter-pinch-gebeurtenis met een AddActorLocalRotation met uw kubus als doel en deltarotatie ingesteld op X = 0, Y = 0 en Z = 20. De kubus draait nu 20 graden telkens wanneer u knijpt
  • De gebeurtenis links knijpen verbinden met game afsluiten

Bluprint effenen met invoeracties voor knijpgebeurtenissen naar rechts en links

  1. Stel in de transformatie-instellingen van de kubus Mobiliteit in op Verplaatsbaar, zodat deze dynamisch kan worden verplaatst:

Tranform-instellingen met mobiliteitseigenschap gemarkeerd

U bent nu klaar om de toepassing te implementeren en te testen.