Pc-resources gebruiken om uw app van stroom te voorzien met de externe holographic remoting-app
In dit artikel wordt het volgende gebruiksvoorbeeld voor holografische externe communicatie uitgelegd:
- U wilt dat de resources van een pc uw app van stroom voorzien in plaats van dat u vertrouwt op de on-board-resources van HoloLens: U kunt een app maken en bouwen die over de mogelijkheid voor externe communicatie van Holographic beschikt. De gebruiker ervaart de app op de HoloLens, maar de app wordt daadwerkelijk uitgevoerd op een pc, waardoor de app kan profiteren van de krachtigere bronnen van de pc. Dit kan vooral handig zijn als uw app assets of modellen met een hoge resolutie heeft en u niet wilt dat de framesnelheid daaronder lijdt. We noemen dit een externe Holographic Remoting-app. Invoer van de HoloLens( gaze, gesture, voice en spatial mapping) wordt verzonden naar de pc, waar de inhoud wordt weergegeven in een virtuele, meeslepende weergave. De gerenderde frames worden vervolgens verzonden naar de HoloLens.
Dit type holografische externe communicatie is ook beschikbaar voor Windows Mixed Reality (WMR) immersive headsets. Dit kan handig zijn als uw WMR-headset bijvoorbeeld is aangesloten op een rugzak-pc en u uw app wilt streamen van een krachtigere pc naar de rugzak-pc.
Zie Holographic Remoting Overview (Overzicht van holographic remoting) voor meer informatie over Holographic Remoting
Houd er rekening mee dat u Holographic Remoting ook kunt gebruiken als u een voorbeeld van uw app wilt bekijken en fouten wilt opsporen tijdens het ontwikkelingsproces.
Twee beschikbare modi in Holographic Remoting
Modus 1: Externe app die wordt uitgevoerd op pc in de modus Verbinding maken, Speler die wordt uitgevoerd op de HoloLens 2 in de luistermodus.
De Speler luistert naar de binnenkomende verbindingen terwijl de externe app verbinding probeert te maken.
Modus 2: Externe app die wordt uitgevoerd op pc in de luistermodus, Player die wordt uitgevoerd op de HoloLens 2 in de verbindingsmodus.
De externe app luistert naar binnenkomende verbindingen terwijl De Speler verbinding probeert te maken.
De Holographic Remoting Player-app instellen
Als u Holographic Remoting alleen in modus 1 wilt gebruiken, installeert u de Holographic Remoting Player-app vanuit de Microsoft Store op uw HoloLens 2 (in dit artikel wordt dit gewoon 'de speler' genoemd). Zoals hieronder wordt uitgelegd, ziet u na het downloaden en uitvoeren van de app het versienummer en het IP-adres waarmee u verbinding wilt maken. We raden u aan de nieuwste versie van de beschikbare Player te gebruiken.
Holoographic Remoting vereist een snelle pc en Wi-Fi verbinding. Meer informatie vindt u in het hierboven gekoppelde Player-artikel.
Als u Holographic Remoting in beide hierboven opgegeven modi wilt gebruiken, moet u de Holographic Remoting Sample-speler klonen en deze implementeren op de HoloLens 2 met behulp van Visual Studio.
Een externe app bouwen die op een pc wordt uitgevoerd voor holographic remoting met behulp van Unity
Selecteer projectinstellingen bewerken >op de menubalk.
Selecteer in de linkerkolom XR-invoegtoepassingsbeheer.
Zorg ervoor dat u zich op het tabblad Universeel Windows-platform instellingen bevindt.
Selecteer in de sectie OpenXR-invoegtoepassingMicrosoft HoloLens functiegroep en Holographic Remoting remote app feature group.
Schakel het selectievakje XR bij opstarten initialiseren uit .
Schrijf code om de configuratie voor externe communicatie in te stellen en XR-initialisatie te activeren. De app kan de connect-functie aanroepen voor modus 1 of de listen-functie inschakelen voor modus 2. Als u een voorbeeld wilt zien, downloadt u onze Open XR Unity Mixed Reality-voorbeelden en bekijkt u vervolgens in het project RemotingSample het script AppRemoting.cs.
Voor modus 1, de verbindingsmodus , roept
Microsoft.MixedReality.OpenXR.Remoting.AppRemoting.Connect
u aan met een ingevuldeRemotingConfiguration
. De voorbeeld-app geeft dit weer in de Inspector en laat zien hoe u het IP-adres invult vanuit een tekstveld. AanroepenConnect
stelt de configuratie in en initialiseert XR automatisch. Daarom moet deze worden aangeroepen als een coroutine:StartCoroutine(Remoting.AppRemoting.Connect(remotingConfiguration));
Voor modus 2, de luistermodus , roept u
Microsoft.MixedReality.OpenXR.Remoting.AppRemoting.Listen
aan met een ingevuldeRemotingListenConfiguration
. De voorbeeld-app maakt dit zichtbaar in de Inspector. Als u aanroeptListen
, wordt de configuratie ingesteld en wordt gewacht op een verbinding van de Holographic Remoting-voorbeeldspeler. Daarom moet deze worden aangeroepen als een coroutine:StartCoroutine(Remoting.AppRemoting.Listen(remotingListenConfiguration));
Tijdens het uitvoeren kunt u de huidige verbindingsstatus verkrijgen met de
AppRemoting.TryGetConnectionState
API en optioneel de verbinding verbreken en de initialisatie van XR ongedaan maken met behulp vanAppRemoting.Disconnect()
. Dit kan worden gebruikt om de verbinding te verbreken en opnieuw verbinding te maken met een ander apparaat binnen dezelfde app-sessie. De RemotingSample-app biedt een toe te passen kubus waarmee de externe sessie wordt verbroken als erop wordt getikt.
Voer de externe Holographic Remoting-app en de Player-app uit in de hierboven beschreven modi
Modus 1: Voer de externe Holographic Remoting-app uit op de pc in de verbindingsmodus en de speler in de luistermodus:
Als Player al is geïnstalleerd vanuit de store op de HoloLens 2, slaat u stapnummers 2 en 3 hieronder over, waar u de app Voorbeeldspeler bouwt en uitvoert. Voer in plaats daarvan de geïnstalleerde Player uit en ga verder met stap 4.
Open de holographic Remoting Sample Player-app met VS 2019 en voer een van de volgende handelingen uit:
Uitvoeren op een HoloLens 2 met behulp van een USB-kabel:
- Configureer de buildopties zoals hier wordt weergegeven:
- Open de pagina Eigenschappen voor het project en navigeer vervolgens naarFoutopsporingvoor configuratie-eigenschappen>.
- Klik op het foutopsporingsprogramma om de vervolgkeuzelijst te starten en selecteer vervolgens Apparaat.
- Voeg in het veld Opdrachtregelargumenten '-listen' toe.
Uitvoeren op een HoloLens 2 met behulp van Wifi:
- Configureer de buildopties zoals hier wordt weergegeven:
- Open de pagina Eigenschappen voor het project en navigeer vervolgens naarFoutopsporingvoor configuratie-eigenschappen>.
- Klik op het foutopsporingsprogramma om de vervolgkeuzelijst te starten en selecteer vervolgens Externe computer.
- Voeg in het veld Opdrachtregelargumenten het WIFI-IP-adres van de HoloLens toe.
Als u de SamplePlayer-oplossing wilt implementeren in de HoloLens 2, drukt u op de afspeelknop in Visual Studio. U kunt de HAR-voorbeeldspeler zien die wordt uitgevoerd op HoloLens 2, met de tekst 'Wachten op een verbinding op ip-adres van HoloLens 2'.
Voeg in de externe app die wordt uitgevoerd op de host-pc het IP-adres toe van de hierboven weergegeven HoloLens 2 en selecteer vervolgens Verbinding maken.
Nadat de verbinding tot stand is gebracht, wordt de Speler die wordt uitgevoerd op HoloLens 2 gestart met 'Ontvangen'.
Modus 2: Voer de externe app op uw pc uit in de luistermodus en de HAR-speler-app in de verbindingsmodus:
Klik in het scherm van de 2D-gebruikersinterface in de externe app die wordt uitgevoerd op de pc op Luisteren.
Open de pagina Eigenschappen voor het project en navigeer vervolgens naarFoutopsporingvoor configuratie-eigenschappen>.
Klik op het foutopsporingsprogramma om de vervolgkeuzelijst te starten en selecteer vervolgens Apparaat.
Voeg in het veld Opdrachtregelargumenten het IP-adres van de host-pc toe.
Als u de SamplePlayer-oplossing wilt implementeren in de HoloLens 2, klikt u in de Visual Studio-oplossing op de knop Afspelen. U kunt de HAR-voorbeeldspeler zien die wordt uitgevoerd op de HoloLens 2, waarbij wordt weergegeven dat deze 'Verbinding maken met ip-adres dat is opgegeven in opdrachtregelargumenten'.
Nadat de verbinding tot stand is gebracht, wordt de Holographic Remoting Sample Player-app die wordt uitgevoerd op de HoloLens 2 gestart met 'Ontvangen'.
Tip
Voor de beste resultaten moet u ervoor zorgen dat uw app de juist instelt . /focuspunt. Dit helpt Holographic Remoting om uw scène het beste aan te passen aan de latentie van uw draadloze verbinding.
Migreren van eerdere Api's voor externe communicatie van Holographic
Zie Holographic Remoting Overview (Overzicht van holographic remoting) voor meer informatie over Holographic Remoting
UnityEngine.XR.WSA.HolographicRemoting
Uit de voorbeeldcode in de documenten van Unity:
XR. WSA. HolographicRemoting | OpenXR.Remoting.AppRemoting |
---|---|
HolographicRemoting.ConnectRemotingSession() |
AppRemoting.Connect(RemotingConfiguration) |
HolographicRemoting.DisconnectRemotingSession() |
AppRemoting.Disconnect() |
HolographicRemoting.ConnectionState |
AppRemoting.TryGetConnectionState(out ConnectionState, out DisconnectReason) |
UnityEngine.XR.WindowsMR. WindowsMRRemoting
XR.WindowsMR. WindowsMRRemoting | OpenXR.Remoting.AppRemoting |
---|---|
WindowsMRRemoting.Connect() |
AppRemoting.Connect(RemotingConfiguration) |
WindowsMRRemoting.Listen() |
AppRemoting.Listen(RemotingListenConfiguration) |
WindowsMRRemoting.Disconnect() |
AppRemoting.Disconnect() |
WindowsMRRemoting.TryGetConnectionState(out ConnectionState) en WindowsMRRemoting.TryGetConnectionFailureReason(out ConnectionFailureReason) |
AppRemoting.TryGetConnectionState(out ConnectionState, out DisconnectReason) |
WindowsMRRemoting.isAudioEnabled , WindowsMRRemoting.maxBitRateKbps , WindowsMRRemoting.remoteMachineName |
Doorgegeven aan AppRemoting.Connect via de RemotingConfiguration struct |
WindowsMRRemoting.isConnected |
AppRemoting.TryGetConnectionState(out ConnectionState state, out _) && state == ConnectionState.Connected |