Zephyrnet-logo

Een VR-videochat-app bouwen met Unity's XR Framework

Datum:

Virtual reality (VR) heeft de laatste tijd veel aan populariteit gewonnen, en terwijl headsetfabrikanten eraan werken om de vraag naar hardware bij te houden, werken ontwikkelaars eraan om de behoefte van gebruikers aan boeiende inhoud bij te houden. VR is niet de enige technologie die in populariteit is toegenomen. In de professionele wereld van vandaag gebruikt iedereen live videostreaming om verbinding te maken en samen te werken. Dit creëert een interessante mogelijkheid voor ontwikkelaars om applicaties te ontwikkelen die Virtual Reality kunnen gebruiken samen met videostreaming om alle barrières van afstand weg te nemen en een meeslepende telepresence-ervaring te creëren.

VR-ontwikkelaars worden geconfronteerd met twee unieke problemen:

  • Hoe maak je VR inclusiever en laat je gebruikers hun POV delen met mensen die geen VR-headsets gebruiken?
  • Hoe breng je niet-VR-deelnemers naar een VR-omgeving?

Bij de meeste VR-headsets kan de gebruiker de POV van de gebruiker spiegelen naar een scherm in de buurt met behulp van een castingtechnologie (Miracast or Chromecast). Hierdoor is er een beperking dat er één fysiek scherm per VR-headset nodig is, en de headset en het scherm moeten zich in dezelfde ruimte bevinden. Dit soort streaming voelt erg ouderwets aan, aangezien de meeste gebruikers tegenwoordig verwachten de vrijheid te hebben om video te streamen naar anderen die zich op afstand bevinden.

In deze gids ga ik door het bouwen van een Virtual Reality-applicatie waarmee gebruikers hun VR-perspectief live kunnen streamen. We zullen ook de mogelijkheid toevoegen om niet-VR-gebruikers zichzelf live te laten streamen naar de virtuele omgeving met behulp van hun webbrowser.

We bouwen dit hele project vanuit de Unity Editor zonder code te schrijven.

Voor dit project gebruik ik een HTC Vive Focus Plus omdat ik hiermee kan bouwen met Unity's XR-framework, waardoor het relatief eenvoudig is om een ​​VR-omgeving op te zetten. En Vive bouwt naar een Android-doel, dus ik kan de Agora Video for Unity SDK gebruiken om live videostreaming aan de ervaring toe te voegen.

Hoe VR transhumanisme naar de massa zou kunnen brengen

Hoe Augmented Reality (AR) de foodservice-industrie hervormt

ExpiCulture - Een originele wereldreizende VR-ervaring ontwikkelen

Enterprise AR: 7 praktijkvoorbeelden voor 2021

Dit project zal uit drie delen bestaan. In het eerste deel wordt uitgelegd hoe het project moet worden opgezet, waarbij de Vive-pakketten samen met de Agora SDK en Virtual Camera prefab geïmplementeerd moeten worden.

Het tweede deel behandelt het creëren van de scène, inclusief het opzetten van de XR Rig met controllers, het toevoegen van de 3D-omgeving, het creëren van de gebruikersinterface en het implementeren van de Agora Virtual Camera prefab.

Het derde deel laat zien hoe je een live streaming web-app kunt gebruiken om de videostreaming tussen VR- en niet-VR-gebruikers te testen.

Opmerking: hoewel kennis van Unity of webontwikkeling niet nodig is, worden bepaalde basisconcepten van de vereisten niet in detail uitgelegd.

Het eerste deel van het project zal een Unity-app bouwen met behulp van het XR Framework, waarbij wordt uitgelegd hoe het Vive-register aan het project kan worden toegevoegd, de Vive-plug-ins kunnen worden gedownload en geïnstalleerd, de Agora Video for Unity-plug-in kan worden geïnstalleerd en de Agora plug-in met behulp van een prefab slepen en neerzetten.

Begin met het maken van een Unity-project met behulp van de 3D-sjabloon. Voor deze demo gebruik ik Unity 2019.4.18f1 LTS. Als je Unity 2020 wilt gebruiken, moet je de Wave 4.0 SDK gebruiken, die momenteel in bèta is.

Opmerking: op het moment van schrijven had ik toegang tot de bèta-SDK voor de nieuwe HTC-headset. Ik heb ervoor gekozen om de Wave 3.0 SDK te gebruiken. Dit project kan op precies dezelfde manier worden opgezet met behulp van de Wave 4.0 SDK.

Zodra het nieuwe project in Unity is geladen, opent u de Projectinstellingen en navigeert u naar het tabblad Pakketbeheer. Klik in de lijst Scoped Registries op het plusteken en voeg de Vive-registergegevens toe.

Once the Vive "scopedRegistries”-Object en de bijbehorende sleutels zijn toegevoegd, ziet u de verschillende laders die de bestanden importeren. Volgende open Venster> Pakketbeheer en selecteer Pakketten: Mijn registers. U zult de VIVE-golf. Als er geen pakket wordt weergegeven, klikt u op verversen in de linker benedenhoek.

Klik door en installeer elk van de Vive-pakketten. Zodra de pakketten zijn geïnstalleerd, importeert u de PureUnity- en XR-samples van de Vive Wave XR Plug-in en de Samples van de Essense Wave XR Plug-in in het project.

Nadat de pakketten zijn geïnstalleerd en het monster is geïmporteerd, wordt het WaveXRPlayerInstellingenConfigDialog venster zal verschijnen. HTC raadt aan Accepteer Cookies om de aanbevolen spelerinstellingen toe te passen.

Open vervolgens de Projectinstellingen, klik in het gedeelte XR Plug-in Management en zorg ervoor dat Wave XR is geselecteerd.

Nu we de Wave SDK hebben geconfigureerd, moeten we het XR Interaction Toolkit-pakket van Unity toevoegen. Hierdoor kunnen we de XR-componenten van Unity gebruiken om interactie met Unity-ingangen of andere elementen in de scène mogelijk te maken. Klik in Pakketbeheer op het Geavanceerd knop (links van de zoekinvoer) en schakel de optie in om “Toon voorbeeldpakketten”. Zodra de voorbeeldpakketten zichtbaar zijn, scrolt u omlaag naar het XR Interaction Toolkit en klik op installeren.

Opmerking: Als je Unity 2018 gebruikt, moet je de Input Manager configureren met behulp van de voorinstellingen die door HTC zijn geleverd. De ingangen kunnen handmatig worden gedefinieerd, of u kunt deze downloaden InputManager preset. Nadat u de voorinstelling hebt gedownload, sleept u deze naar uw Unity-activa en navigeert u naar het InvoerManager tab in de Projectinstellingenen pas de voorinstellingen toe.

InputManager preset oppompen van HTC Wave-documentatie

Wanneer u met de Wave XR Plug-in werkt, kunt u het kwaliteitsniveau wijzigen met QualitySettings.SetQualityLevel. HTC raadt aan om de Anti-aliasing niveaus naar 4x Multi Sampling in alle kwaliteitsniveaus. U kunt deze downloaden QualitySettings preset oppompen van HTC's Samples-documentatiepagina.

Voor meer informatie over invoer- en kwaliteitsinstellingen raadpleegt u het HTC Wave-documentatie.

Open de Unity Asset Store, ga naar de Agora Video SDK for Unity-pagina en download de plug-in. Zodra de plug-in is gedownload, importeert u deze in uw project.

Opmerking: Als u Unity 2020 gebruikt, is de Asset Store toegankelijk via de webbrowser. Nadat u het activum in Unity hebt geïmporteerd, wordt het geïmporteerd via het Package Manager UI.

De laatste stap in het installatieproces is om het Agora Virtual Camera Prefab-pakket te downloaden en in het project te importeren.

Wanneer u het Agora Virtual Camera Prefab-pakket importeert, ziet u dat het een paar scripts, een prefab en een renderTexture bevat. De twee belangrijkste scripts om op te merken zijn AgoraInterface.cs (die een basisimplementatie van de Agora Video SDK bevat) en AgoraVirtualCamera.cs (die de AgoraInterface specifiek implementeert en uitbreidt om de virtuele camerastream af te handelen). De tools map bevat een paar helper-scripts: een voor logboekregistratie, een andere om camera- / microfoonrechten aan te vragen en een om tokenverzoeken af ​​te handelen.

Ook inbegrepen in het pakket is de AgoraVirtualCamera.prefab, een leeg GameObject met de AgoraVirtualCamera.cs eraan vastgemaakt. Dit maakt het voor ons gemakkelijk om de Agora-instellingen rechtstreeks vanuit de Unity Editor te configureren zonder code te hoeven schrijven. Het laatste bestand in de lijst is het AgoraVirtualCamRT.renderTexture, die we zullen gebruiken voor het weergeven van de virtuele camerastream. De map tools bevat de scripts Logger.cs, PermissionHelper.cs en RequetstToken.cs.

We zijn nu klaar met het installeren van al onze afhankelijkheden en kunnen verder gaan met het bouwen van onze XR-videostreaming-app.

In deze sectie zullen we zien hoe we onze 3D-omgeving kunnen opzetten met behulp van een 3D-model, een XR Camera Rig Game-object kunnen maken, de knoppen en andere UI-elementen kunnen maken en de Agora VR Prefab kunnen implementeren.

Maak een scène of open de voorbeeldscène en importeer het omgevingsmodel. U kunt het onderstaande model downloaden van Sketchfab.

Coinsmart. Beste Bitcoin-beurs in Europa
Source: https://arvrjourney.com/how-to-build-a-vr-video-chat-app-using-unitys-xr-framework-4e1774bcd53b?source=rss—-d01820283d6d—4

spot_img

Laatste intelligentie

spot_img