Delen via


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.

Schermopname van de Holographic Remoting Player die wordt uitgevoerd in de HoloLens

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

  1. Selecteer projectinstellingen bewerken >op de menubalk.

  2. Selecteer in de linkerkolom XR-invoegtoepassingsbeheer.

  3. Zorg ervoor dat u zich op het tabblad Universeel Windows-platform instellingen bevindt.

    Schermopname van de XR-Plug in het venster Beheer met het tabblad Universeel Windows-platform geselecteerd.

  4. Selecteer in de sectie OpenXR-invoegtoepassingMicrosoft HoloLens functiegroep en Holographic Remoting remote app feature group.

    Schermopname van de OpenXr-invoegtoepassing met 'Microsoft HoloLens functiegroep' en 'Holographic Remoting remote app feature group' geselecteerd.

  5. Schakel het selectievakje XR bij opstarten initialiseren uit .

    Schermopname van het venster XR-invoegtoepassingsbeheer met 'XR initialiseren bij opstarten' niet geselecteerd.

  6. 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.

  7. Voor modus 1, de verbindingsmodus , roept Microsoft.MixedReality.OpenXR.Remoting.AppRemoting.Connect u aan met een ingevulde RemotingConfiguration. De voorbeeld-app geeft dit weer in de Inspector en laat zien hoe u het IP-adres invult vanuit een tekstveld. Aanroepen Connect stelt de configuratie in en initialiseert XR automatisch. Daarom moet deze worden aangeroepen als een coroutine:

    StartCoroutine(Remoting.AppRemoting.Connect(remotingConfiguration));
    
  8. Voor modus 2, de luistermodus , roept u Microsoft.MixedReality.OpenXR.Remoting.AppRemoting.Listen aan met een ingevulde RemotingListenConfiguration. De voorbeeld-app maakt dit zichtbaar in de Inspector. Als u aanroept Listen , 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));
    
  9. 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 van AppRemoting.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:

  1. 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.

  2. 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:

    Schermafbeelding van de build-instellingen van Visual Studio voor of de gebruiker is verbonden via een USB-kabel.

    • 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.

    Schermopname van de opdrachtregelargumenten voor het bouwen met behulp van een USB-kabel.

    Uitvoeren op een HoloLens 2 met behulp van Wifi:

    • Configureer de buildopties zoals hier wordt weergegeven:

    Schermafbeelding van de Visual Studio-build-instellingen voor als de gebruiker de HoloLens bouwt met behulp van Wifi.

    • 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.
  3. 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'.

  4. 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.

  5. 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.

    Schermafbeelding van de build-instellingen van Visual Studio voor of de gebruiker is verbonden via een USB-kabel.

  • 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.

Schermopname van de opdrachtregelargumenten voor het bouwen met behulp van een USB-kabel.

  • 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

Zie ook