Share via


4. Uw scène interactief maken

In de vorige zelfstudie hebt u een ARSession, Pawn en Game Mode toegevoegd om de mixed reality-installatie voor de schaak-app te voltooien. Deze sectie is gericht op het gebruik van de open source Mixed Reality Toolkit UX Tools-invoegtoepassing, die hulpprogramma's biedt om de scène interactief te maken. Aan het einde van deze sectie worden uw schaakstukken verplaatst door gebruikersinvoer.

Doelen

  • De invoegtoepassing Mixed Reality UX Tools installeren
  • Handinteractieacteurs aan uw vingertoppen toevoegen
  • Manipulators maken en toevoegen aan objecten in de scène
  • Invoersimulatie gebruiken om het project te valideren

De invoegtoepassing Mixed Reality UX Tools downloaden

Voordat u aan de slag gaat met gebruikersinvoer, moet u de invoegtoepassing Mixed Reality UX Tools toevoegen aan het project. Voor meer informatie over UX Tools kunt u het project bekijken op GitHub.

  1. Open het startprogramma voor Epic Games. Navigeer naar Unreal Engine Marketplace en zoek naar 'Mixed Reality UX Tools'. Installeer de invoegtoepassing op uw engine.

Unreal Marketplace

  1. Ga in de Unreal-editor naarInvoegtoepassingen voor projectinstellingen> en zoek naar 'Mixed Reality UX Tools'. Zorg ervoor dat de invoegtoepassing is ingeschakeld en start de editor opnieuw als u hierom wordt gevraagd.

Invoegtoepassing voor Mixed Reality UX Tools inschakelen

  1. De UXTools-invoegtoepassing heeft een map Inhoud met submappen voor onderdelen, waaronder Knoppen, XR-simulatie en Aanwijzers, en een map C++ Classes met aanvullende code.

Notitie

Als u de sectie UXTools-inhoud niet ziet in de inhoudsbrowser, schakelt u Weergaveopties > Engine-inhoud weergeven en *Weergaveopties > Inhoud van invoegtoepassing weergeven in.

Engine-inhoud weergeven

Aanvullende documentatie voor invoegtoepassingen vindt u in de GitHub-opslagplaats Mixed Reality UX Tools.

Nu de invoegtoepassing is geïnstalleerd, bent u klaar om de hulpprogramma's te gebruiken die het te bieden heeft, te beginnen met actoren voor handinteractie.

Interactieacteurs voor spawning hand

Handinteractie met UX-elementen wordt gedaan met handinteractieacteurs, die de aanwijzers en visuals maken en aandrijven voor interacties met dichtbij en ver weg.

  • Bijna-interacties - knijpen van elementen tussen wijsvinger en duim of door ze met een vingertop te pokken.
  • Verre interacties : een straal van de virtuele hand naar een element wijzen en de index en duim tegen elkaar drukken.

In ons geval voegt u een Actor voor handinteractie toe aan MRPawn :

  • Voeg een cursor toe aan de uiteinden van de wijsvingers van het pawn.
  • Geef gearticuleerde handinvoergebeurtenissen op die kunnen worden bewerkt via de pion.
  • Ver interactie-invoerevenementen toestaan via handstralen die zich uitstrekken vanaf de palmen van de virtuele handen.

We raden u aan de documentatie over handinteracties door te lezen voordat u doorgaat.

Zodra u klaar bent, opent u de MRPawn-blauwdruk en gaat u naar de gebeurtenisgrafiek.

  1. Sleep de uitvoeringspincode uit Event BeginPlay en laat deze los om een nieuw knooppunt te plaatsen.

    • Selecteer Spawn Actor in Klasse, klik op de vervolgkeuzelijst naast de klassepin en zoek naar Uxt Hand Interaction Actor.
  2. Spawn een tweede Uxt Hand Interaction Actor, deze keer stelt u de handin op rechts. Wanneer de gebeurtenis begint, wordt er een Uxt Hand Interaction Actor op elke hand weergegeven.

Uw gebeurtenisgrafiek moet overeenkomen met de volgende schermopname:

Spawn UXT Hand Interaction Actors

Beide Uxt Hand Interaction Actors hebben eigenaars en initiële transformatielocaties nodig. De eerste transformatie maakt in dit geval niet uit, omdat UX Tools de handinteractieactoren naar de virtuele handen laat springen zodra ze zichtbaar zijn. Voor de SpawnActor functie is echter een transformatieinvoer vereist om een compilerfout te voorkomen, dus gebruikt u de standaardwaarden.

  1. Sleep de pin van een van de Spawn Transform-pinnen en laat deze los om een nieuw knooppunt te plaatsen.

    • Zoek naar het knooppunt Transformatie maken en sleep vervolgens de Retourwaarde naar de Spawn-transformatie van de andere hand, zodat beide SpawnActor-knooppunten zijn verbonden.
  2. Selecteer de pijl-omlaag onder aan beide SpawnActor-knooppunten om de pincode Eigenaar weer te geven.

    • Sleep de pin van een van de eigenaarpinnen en laat los om een nieuw knooppunt te plaatsen.
    • Zoek naar zelf en selecteer de optie Een verwijzing naar zelfvariabele ophalen .
    • Maak een koppeling tussen het knooppunt Verwijzing naar het zelfobject en de andere pincode Eigenaar van handinteractieacteur.
  3. Schakel ten slotte het selectievakje Aanwijzer in de buurt van grijpdoelen weergeven in voor beide actoren voor handinteractie. Er moet een cursor verschijnen op het grijpdoel als uw wijsvinger in de buurt komt, zodat u kunt zien waar uw vinger zich bevindt ten opzichte van het doel.

    • Compileren, opslaan en terugkeren naar het hoofdvenster.

Zorg ervoor dat de verbindingen overeenkomen met de volgende schermafbeelding, maar sleep gerust rond knooppunten om uw blauwdruk beter leesbaar te maken.

UXT Hand Interaction Actor instellen

Meer informatie over handinteractieactoren vindt u in de documentatie over UX Tools.

Nu hebben de virtuele handen in het project een manier om objecten te selecteren, maar ze kunnen ze nog steeds niet manipuleren. Uw laatste taak voordat u de app test, is het toevoegen van Manipulator-onderdelen aan de acteurs in de scène.

Manipulators koppelen

Een manipulator is een onderdeel dat reageert op gearticuleerde handinvoer en kan worden gepakt, gedraaid en vertaald. Door de transformatie van de manipulator toe te passen op een Actors-transformatie, kunt u de actor direct bewerken.

  1. Open de blauwdruk Bord , klik op Onderdeel toevoegen en zoek naar Uxt Generic Manipulator in het deelvenster Onderdelen .

Een algemene manipulator toevoegen

  1. Vouw de sectie Generic Manipulator in het deelvenster Details uit . U kunt hier bewerking met één hand of twee handen, draaimodus en vloeiend maken instellen. U kunt de gewenste modi selecteren en vervolgens Bord compileren en opslaan .

De modus instellen

  1. Herhaal de bovenstaande stappen voor de WhiteKing Actor.

Meer informatie over de manipulator-onderdelen vindt u in de Mixed Reality UX Tools-invoegtoepassing in de documentatie.

De scène testen

Goed nieuws voor iedereen! U bent klaar om de app te testen met de nieuwe virtuele handen en gebruikersinvoer. Druk op Afspelen in het hoofdvenster en u ziet twee mesh-handen met stralen die zich uitstrekken vanaf de palm van elke hand. U kunt de handen en hun interacties als volgt beheren:

  • Houd de Alt-toets links ingedrukt om de linkerhand te besturen en de shift-toets links om de rechterhand te bedienen.
  • Beweeg de muis om de hand te bewegen en schuif met het muiswiel om de hand vooruit of achteruit te bewegen.
  • Gebruik de linkermuisknop om te knijpen en de middelste muisknop om te prikken.

Notitie

Invoersimulatie werkt mogelijk niet als u meerdere headsets op uw pc hebt aangesloten. Als u problemen ondervindt, koppelt u de andere headsets los.

Gesimuleerde handen in de viewport

Probeer de gesimuleerde handen te gebruiken om de witte schaakkoning op te pakken, te bewegen en neer te zetten en het bord te manipuleren! Experimenteer met zowel nabije als verre interactie : wanneer uw handen dicht genoeg bij elkaar komen om het bord en de koning rechtstreeks te pakken, vervangt een vingercursor op de punt van de wijsvinger de handstraal.

Meer informatie over de functie voor gesimuleerde handen van de MRTK UX Tools-invoegtoepassing vindt u in de documentatie.

Nu uw virtuele handen met objecten kunnen communiceren, kunt u verdergaan met de volgende zelfstudie en gebruikersinterfaces en gebeurtenissen toevoegen.

Volgende sectie: 5. Een knop toevoegen & stuklocaties opnieuw instellen