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.
- Unreal Engine starten
- Selecteer games in de nieuwe projectcategorieën en klik op Volgende:
- Selecteer de sjabloon Leeg en klik op Volgende:
- 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.
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.
- Open Invoegtoepassingen bewerken > en selecteer Augmented Reality in de lijst met ingebouwde opties.
- Schuif omlaag naar HoloLens en schakel Ingeschakeld in
- Typ OpenXR in het zoekvak rechtsboven en schakel de invoegtoepassingen OpenXR en OpenXRMsftHandInteraction in:
- 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.
- Selecteer Bestand > Nieuw niveau en kies Leeg niveau. De standaardscène in de viewport moet nu leeg zijn
- 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
- 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.
- 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
- 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.
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:
- Selecteer in de Inhoudsbrowserde optie Nieuwe > diverse > gegevensasset toevoegen en zorg ervoor dat u zich op het niveau van de hoofdmap Inhoud bevindt
- Selecteer ARSessionConfig, klik op Selecteren en geef de asset de naam ARSessionConfig:
- Dubbelklik op ARSessionConfig om het te openen, opslaan met alle standaardinstellingen en terug te keren naar het hoofdvenster:
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.
- Selecteer blauwdrukken op open niveau blauwdrukken >in de werkbalk van de editor:
- 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
- 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.
Invoer instellen
- Selecteer Projectinstellingen bewerken > en ga naar de engine-invoer >
- Selecteer het + pictogram naast Actietoewijzingen en maak de acties RightPinch en LeftPinch :
- Wijs de acties RightPinch en LeftPinch toe aan de respectieve OpenXR Msft Hand Interaction-acties :
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.
- 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
- Stel in de transformatie-instellingen van de kubus Mobiliteit in op Verplaatsbaar, zodat deze dynamisch kan worden verplaatst:
U bent nu klaar om de toepassing te implementeren en te testen.