Oefening - Aan de slag met PC Holographic Remoting
Welkom bij de HoloLens 2-zelfstudies. In deze handleiding leert u hoe u een Mixed Reality-ervaring maakt met UI-elementen, 3D-modelmanipulatie, modelafsnijding en oogtrackingfuncties. In de tweede zelfstudie leert u hoe u een pc-app voor Holographic Remoting maakt waarmee u op elk gewenst moment verbinding kunt maken met de HoloLens 2 en uw app kunt visualiseren in 3D.
Als u deze zelfstudie met succes wilt voltooien, moet u enige basiskennis van Unity en de Mixed Reality Toolkit (MRTK) hebben. Als u dat niet doet, raden we u aan om de zelfstudie Aan de slag te voltooien voordat u verdergaat.
Het Unity-project maken en voorbereiden
In deze sectie maakt u een nieuw Unity-project en bereidt u het voor op MRTK-ontwikkeling.
Ga naar het HoloLens 2-fundamenten pad en voltooi de modules daar, maar stop wanneer u de HoloLens 2-modules bereikt. Als gevolg van het voltooien van deze instructies hebt u het volgende gedaan:
- Het Unity-project gemaakt en deze een geschikte naam gegeven; bijvoorbeeld PC Holographic Remoting.
- Het buildplatform is veranderd.
- De Essential Resources van TextMeshPro geïmporteerd.
- De Mixed Reality Toolkit geïmporteerd en het Unity-project geconfigureerd.
- De scène gecreëerd en ingesteld, en het een geschikte naam gegeven, bijvoorbeeld PC Holographic Remoting.
Importeer de zelfstudiebronnen
Download en importeer de MRTK.HoloLens2.Unity.Tutorials.Assets.PCHolographicRemoting.3.0.0.unitypackage .
Tip
Voor een herinnering over het importeren van een aangepast Unity-pakket kunt u verwijzen naar de De Instructies voor de Mixed Reality Toolkit importeren.
Nadat u de zelfstudieassets hebt geïmporteerd, ziet het projectvenster er ongeveer als volgt uit:
De scène configureren en voorbereiden
In deze sectie bereidt u de scène voor door enkele van de prefabs van de handleiding toe te voegen.
Ten eerste, omdat sommige van de modellen een glTF-indeling hebben die unity niet systeemeigen ondersteunt, moeten we een pakket installeren waarmee ze kunnen worden geïmporteerd.
Als u de open source glTFast-bibliotheek wilt installeren, downloadt en voert u dit bestand uit: https://package-installer.glitch.me/v1/installer/OpenUPM/com.atteneder.gltfast?registry=https%3A%2F%2Fpackage.openupm.com& scope=com.atteneder
Selecteer importeren.
Selecteer Sluit.
Navigeer in het venster Project naar de Assets>MRTK.Tutorials.PCHolograhicRemoting>Prefabs map. Selecteer de SceneContent prefab en sleep deze naar de onderkant van het venster Hierarchy.
Als u de scène vanuit het oogpunt van de camera wilt weergeven, klikt u met de rechtermuisknop op het hoofdcameraobject in het venster Hiërarchie en selecteert u vervolgens weergave Uitlijnen op geselecteerde.
Tip
Als u denkt dat de grote pictogrammen in uw scène afleiden (bijvoorbeeld de grote framed 'T'-pictogrammen), kunt u ze verbergen door de Gizmos- in te schakelen naar de Uit positie.
De knoppen configureren om de scène te bedienen
In deze sectie voegt u scripts toe aan de scène en maakt u knopevenementen die de basisprincipes van modelwisselingen en knipfunctionaliteit demonstreren.
Het onderdeel Drukbare knop (script) configureren
Vouw in het venster Hierarchy de SceneContent en ButtonParent-objecten uit en selecteer de knop Volgende. Zoek in het venster Inspector de drukbare knop onderdeel en selecteer het plusteken (+) onder OnClick () gebeurtenis.
Terwijl het NextButton-object nog steeds is geselecteerd in het venster Hierarchy, sleept u het ButtonParent-object van het venster Hierarchy naar het lege None (Object)-veld van de gebeurtenis die u zojuist hebt toegevoegd om het ButtonParent-object naar de klikgebeurtenis van deze knop te laten luisteren.
Selecteer de vervolgkeuzelijst Geen functie van dezelfde gebeurtenis en selecteer vervolgens ViewButtonControl>NextModel () om de functie NextModel () in te stellen als de actie die wordt geactiveerd wanneer de knop wordt ingedrukt:
De resterende knoppen configureren
Voltooi voor elk van de resterende knoppen het hierboven beschreven proces om functies toe te wijzen aan de OnClick () gebeurtenissen:
- Wijs voor het object PreviousButton de ViewButtonControl>PreviousModel () functie toe.
- Selecteer voor ClippingButton de functie ToggleButton>ToggleClipping ().
Het besturingselement voor de weergaveknop (script) en wisselknoponderdelen (script) configureren
Op dit moment zijn uw knoppen geconfigureerd om de modelwisselings- en knipfunctionaliteit te demonstreren. Vervolgens voegt u 3D-modellen toe aan de scène en de clip-objecten aan het script.
We hebben zes verschillende 3D-modellen geleverd voor demonstratie. Vouw het Object ModelParent uit om deze modellen beschikbaar te maken.
Als het object ButtonParent nog steeds is geselecteerd in het venster Hierarchy, zoekt u in het venster Inspector het onderdeel View Button Control (Script) en vouwt u de variabele Models uit.
Voer in het veld Grootte het aantal 3D-modellen in dat u in uw scène wilt hebben; in dit geval zes. Hiermee maakt u velden voor het toevoegen van nieuwe 3D-modellen.
Sleep elk kindobject van het ModelParent-object naar deze velden.
Sleep het -object ClippingObjects van het Hierarchy-venster naar het Toggle Button (Script) component in het -veld Knipobject.
Notitie
Blijf alleen in het ButtonParent-object.
Selecteer in het venster Hierarchy de ClippingObjects prefab en schakel deze in het Inspector-venster in om de Clipping-objectenaan te zetten.
Configureer de knipobjecten om de knipfunctie in te schakelen
In deze sectie voegt u de onderliggende objectenrenderer van het MarsCuriosityRover-object toe aan een afzonderlijk om het knippen van het MarsCuriosityRover-model te demonstreren.
Vouw in het venster Hierarchy het ClippingObjects-object uit om de drie verschillende knipobjecten weer te geven die u in dit project gaat gebruiken.
Als u het ClippingSphere--object wilt configureren, selecteert u het en voegt u vervolgens een Clipping Sphere--onderdeel toe in het venster Inspector. Voer vervolgens het aantal renderers in het veld Grootte dat u moet toevoegen voor uw 3D-model in. In dit geval voegt u 10 toe voor onderliggende objecten van MarsCuriosityRover. Hiermee maakt u velden voor het toevoegen van renderers. Sleep vervolgens de submodelobjecten van het MarsCuriosityRover-object in deze velden.
Zorg ervoor dat de knipobjecten zijn ingeschakeld door de ClippingObjects prefab in te schakelen in het venster Hierarchy.