Oefening: scripts voor handinteractie toevoegen aan een object
Het ObjectManipulator-script ondersteunt de modaliteit 'directe manipulatie' van het invoermodel 'hands and motion controllers'. Wanneer het script is gekoppeld aan een object, kan de gebruiker het object met hun handen verplaatsen, schalen of draaien. In deze oefening maakt u twee kubussen, koppelt u de benodigde scripts eraan en verplaatst u vervolgens de kubussen.
De eerste kubus toevoegen en aanpassen
Selecteer GameObject>3D-objectkubus> in de menubalk.
De standaardgrootte van de kubus is één vierkante meter, wat te groot is voor onze doeleinden. We schalen de grootte omlaag tot 20x20x20 centimeter.
Selecteer de kubus en wijzig vervolgens in Inspector de waarden transformatie/schaal van de kubus in het volgende:
X = 0,2, Y = 0,2, Z = 0,2
De kubus is in de scène geplaatst op de standaardpositie (0,0,0). Dit betekent dat de kubus zich op dezelfde positie bevindt als de headset van de gebruiker en dat de gebruiker de kubus pas kan zien als ze achteruit gaan. We wijzigen de positiewaarden van de kubus, zodat deze zich op een betere locatie bevinden voor weergave.
Wijzig in Inspector de waarden transformatie/positie van de kubus in het volgende:
X = -0,2, Y = 1,6, Z = 0,5
We willen drie zijden van de kubus kunnen zien, dus we veranderen ook de draaiing van de kubus.
Notitie
De hoogte van de kubus is ingesteld op 1,6 zodat deze overeenkomt met de hoogte van de camera-offset op MRTK XR Rig, waardoor deze ongeveer op oogniveau wordt geplaatst.
Wijzig in Inspector de tranform-/rotatiewaarden van de kubus in het volgende:
X = 9, Y = 14, Z = 0 f
Tip
Als u wilt inzoomen op de kubus, selecteert u deze door de cursor boven het scènevenster te bewegen en drukt u vervolgens op de F-toets . U kunt op deze manier inzoomen op elk object.
De scripts toevoegen aan de kubus
Als u wilt dat een object 'pakbaar' is met getraceerde handen, moet er twee onderdelen aan zijn gekoppeld:
- Een Collider-onderdeel (u hoeft hier niets te doen; De kubus van Unity heeft standaard al een Box Collider-koppeling)
- Object Manipulator -onderdeel (Script)
Terwijl de kubus nog steeds is geselecteerd, selecteert u in het venster Inspector de knop Component toevoegen en zoekt en selecteert u het script Object Manipulator .
Het ObjectManipulator-script maakt een object beweegbaar, schaalbaar en draaibaar met één of twee handen. Wanneer u het Object Manipulator-script toevoegt, wordt het script Constraint Manager ook automatisch toegevoegd omdat het Object Manipulator-script hiervan afhankelijk is.
Het materiaal van de kubus bijwerken
Voor prestatiedoeleinden raden we u aan MRTK-materialen te gebruiken in plaats van de standaard Unity-materialen.
- Als de kubus nog steeds is geselecteerd, zoekt u de sectie Materialen op het mesh rendereronderdeel.
- Vervang het standaardmateriaal door het MRTK_Standard_White materiaal, dat zich onder MRTK Standard Assets>Materials bevindt. U kunt het materiaal uit het deelvenster Project slepen en neerzetten in de sectie Materialen .
Een tweede kubus toevoegen
Klik in de hiërarchie met de rechtermuisknop op de kubus en selecteer Dupliceren. De gedupliceerde kubus wordt weergegeven met de naam Kubus (1).
Klik met de rechtermuisknop op de oorspronkelijke kubus, selecteer Naam wijzigen en geef de kubus een naam in de buurt van kubus.
Klik met de rechtermuisknop op de gedupliceerde kubus, selecteer Naam wijzigen en geef de kubus een naam.
Op dit moment lijkt het erop dat er slechts één kubus in de scèneweergave staat. Dat komt doordat Near Cube en Far Cube zich op dezelfde exacte plaats bevinden. We gaan de positie en draaiing van Far Cube wijzigen.
Als Far Cube nog steeds is geselecteerd, wijzigt u de waarden in het onderdeel Transformatie in het volgende:
Positie: X = 0,6, Y = 1,6, Z = 1,1
Draaiing: X = 27, Y = 0, Z = 0
Nu ziet de camera aan de linkerkant near Cube en Far Cube een beetje verder weg aan de rechterkant. Als u dit wilt bevestigen, selecteert u in de hiërarchie de hoofdcamera (onder MRTK XR Rig>Camera Offset) en kijkt u vervolgens naar het hoofdcameravenster in het scènevenster.
Tip
Als u wilt dat de weergave in het scènevenster er meer uitziet zoals de camera ziet, bladert u in het scènevenster . Mogelijk moet u de Clear Flags van de camera instellen op Skybox als deze niet standaard is.
De kubussen in de afspeelmodus pakken en verplaatsen
Selecteer de knop Afspelen. Wanneer het project wordt afgespeeld, schakelt de weergave over naar het gamevenster .
Notitie
Controleer voordat u afspeelt of er een geldig profiel is ingesteld onder Projectinstellingen>MRTK3.
Selecteer de knop met drie puntjes in de rechterbovenhoek van het gamevenster en selecteer Maximaliseren.
Druk op de spatiebalk om de gesimuleerde rechterhand in de weergave weer te geven.
Verplaats de gesimuleerde hand dichter bij Near Cube totdat deze de kubus aan de zijkant of onderkant raakt.
Druk op de linkermuisknop (hierdoor wordt de hand 'pak' de kubus) en sleept u de kubus rond de scène.
Om Far Cube te pakken en te verplaatsen, gebruiken we de aanwijzer die aan de gesimuleerde hand is gekoppeld.
Als dat nodig is, drukt u nogmaals op de spatiebalk om de gesimuleerde rechterhand weer te geven. Let op de verre aanwijzer die zich uitbreidt vanaf het einde van de indexvinger van de hand.
Beweeg de hand dichter bij Far Cube totdat u de punt van de aanwijzer op de kubus kunt zien. Mogelijk moet u de hand een paar keer in een cirkelvormige beweging bewegen om de punt van de aanwijzer op de kubus weer te geven.
Druk op de linkermuisknop (hierdoor wordt de hand gesloten, nemen we het knijpbeweging aan) en sleept u de kubus rond de scène.
Unity in-editor invoersimulatie
U kunt holografisch objectgedrag testen met de invoersimulatiefuncties van Unity in de editor.
De weergave in de scène wijzigen
- Als u de camera vooruit/links/terug/rechts wilt verplaatsen, drukt u op de W/A/S/D-toetsen .
- Als u de camera verticaal wilt verplaatsen, drukt u op de Q- en E-toetsen.
- Als u de camera wilt draaien, drukt u op de rechtermuisknop en sleept u.
Handinvoer simuleren
- Als u de gesimuleerde rechterhand wilt inschakelen, houdt u de spatiebalk ingedrukt. Als u de hand wilt verwijderen, laat u de spatiebalk los.
- Als u de gesimuleerde linkerhand wilt inschakelen, houdt u de shift-toets links ingedrukt. Als u de hand wilt verwijderen, laat u de sleutel los.
- Als u een van beide hand rond de scène wilt bewegen, beweegt u de muis.
- Als u de hand vooruit of achteruit wilt verplaatsen, draait u het muiswiel.
- Als u het knijpbeweging wilt simuleren, drukt u op de linkermuisknop.
- Als u de hand wilt draaien, houdt u ctrl ingedrukt op de spatiebalk + (rechterhand) of shift-links +Ctrl-toets (linkerhand) en beweegt u de muis.
Permanente handen
Als u een hand wilt inschakelen en op het scherm wilt houden zonder een toets ingedrukt te houden, drukt u op T (linkerhand) of Y (rechterhand). Als u de handen wilt verwijderen, drukt u nogmaals op die toetsen.
Uw toepassing bouwen in Unity
Minimaliseer het venster Afspelen door de knop drie puntjes te selecteren en vervolgens Maximaliseren uit te vinken.
Selecteer In de menubalk de optie Instellingen voor bestandsbuild>....
Selecteer in het venster Build-instellingen de knop Open scènes toevoegen om uw huidige scène toe te voegen aan de lijst Scènes in build .
Selecteer de knop Opbouwen .
Navigeer in het venster Build Universeel Windows-platform naar de map waarin u de build wilt opslaan of maak een nieuwe map en navigeer ernaartoe en selecteer vervolgens de knop Map selecteren om het buildproces te starten.
Er wordt een voortgangsbalk weergegeven om u te laten weten hoe de build doorgaat.
(Optioneel) De toepassing bouwen en implementeren
Notitie
Bouwen en testen op HoloLens 2 is niet verplicht. U kunt ook testen op de HoloLens 2 Emulator als u geen apparaat hebt. U kunt apparaten kopen op HoloLens.com.
Wanneer het buildproces is voltooid, wordt Windows Bestandenverkenner geopend en wordt de buildmap weergegeven. Navigeer in de map en dubbelklik op het oplossingsbestand om het te openen in Visual Studio.
Configureer Visual Studio voor HoloLens door de master- of releaseconfiguratie en de ARM64-architectuur te selecteren:
Tip
Als u implementeert op HoloLens (eerste generatie), selecteert u de x86-architectuur .
Notitie
Als u Device niet ziet als doeloptie in Visual Studio, moet u mogelijk het opstartproject voor de oplossing wijzigen van het IL2CPP-project in het UWP-project. Klik in Solution Explorer met de rechtermuisknop op [uw projectnaam](Universal Windows) en selecteer Instellen als Opstartproject.
Belangrijk
Voordat u op uw apparaat bouwt, moet het apparaat zich in de ontwikkelaarsmodus bevinden en zijn gekoppeld aan uw ontwikkelcomputer.; zie De ontwikkelaarsmodus inschakelen.
Selecteer de vervolgkeuzelijst voor het implementatiedoel en voer vervolgens een van de volgende handelingen uit:
- Als u via Wi-Fi bouwt en implementeert, selecteert u Externe machine.
- Als u via USB bouwt en implementeert, selecteert u Apparaat.
Stel de externe verbinding in: selecteer Projecteigenschappen >op de menubalk.
Selecteer in het venster Eigenschappenpagina's van het project de foutopsporing van configuratie-eigenschappen>.
Selecteer het foutopsporingsprogramma om de vervolgkeuzelijst te starten en selecteer vervolgens Externe machine als deze nog niet is geselecteerd.
Belangrijk
U wordt aangeraden uw IP-adres handmatig in te voeren in plaats van afhankelijk te zijn van de functie Automatisch gedetecteerd. Als u uw IP-adres wilt vinden, gaat u op uw HoloLens naar Instellingenupdates > en beveiliging > voor ontwikkelaars. Het IP-adres wordt onderaan het venster onder Ethernet weergegeven.
Voer in het veld Machinenaam het IP-adres van uw apparaat in.
Stel de verificatiemodus in op Universeel (niet-versleuteld protocol).
Verbind uw HoloLens met uw computer en voer vervolgens een van de volgende handelingen uit in Visual Studio:
- Als u wilt implementeren op uw HoloLens en de app automatisch wilt starten zonder het gekoppelde Visual Studio-foutopsporingsprogramma, selecteert u Foutopsporing>starten zonder foutopsporing.
- Als u wilt implementeren op uw HoloLens zonder dat de app automatisch wordt gestart, selecteert u Build>Deploy Solution.
Uw apparaat koppelen
De eerste keer dat u een app op uw HoloLens implementeert vanaf uw pc, wordt u gevraagd om een pincode. Een pincode maken:
- Ga in uw HoloLens naar Instellingenupdates > en beveiliging > voor ontwikkelaars.
- Selecteer Koppelen. Hiermee wordt de pincode weergegeven in de HoloLens.
- Voer de pincode in het dialoogvenster in Visual Studio in.
- Nadat het koppelen is voltooid, selecteert u Gereed in de HoloLens.
Uw pc is nu gekoppeld aan uw HoloLens en u kunt apps automatisch implementeren. Herhaal deze stappen voor elke pc die wordt gebruikt voor het implementeren van apps op uw HoloLens.
Uw app uitvoeren op uw HoloLens
Nadat de app is gebouwd, zoekt u in het startmenu van HoloLens de app-tegel voor uw app en selecteert u deze.
Nadat de app is gestart, neemt u contact op met de Near Cube en sleept u deze.
Gebruik de verwijzer om de Far Cube te pakken en sleep deze rond.
Tip
De HoloLens biedt u meer flexibiliteit dan toen u uw app in Unity testte. U kunt fysiek bewegen en de verre aanwijzer op de Near Cube gebruiken of de Far Cube met uw hand pakken.
Tips
U kunt ook implementeren in de HoloLens Emulator of een app-pakket maken voor sideloading.
Mogelijk ziet u de diagnostische profiler in de app. U kunt deze in- of uitschakelen met behulp van de spraakopdracht Diagnostische gegevens in- of uitschakelen. U wordt aangeraden de profiler de meeste tijd tijdens de ontwikkeling zichtbaar te houden, zodat u kunt begrijpen hoe wijzigingen in de app van invloed kunnen zijn op de prestaties. U kunt uw app bijvoorbeeld controleren om ervoor te zorgen dat de framesnelheid ten minste 60 FPS is.