MODULARISATIE VAN MRTK

Een van de geweldige nieuwe functies van Mixed Reality Toolkit v2 is verbeterde componentisering. Waar mogelijk worden afzonderlijke onderdelen geïsoleerd van alle onderdelen, behalve de kernlaag van de basis.

Geminimaliseerde afhankelijkheden

MRTK v2 is opzettelijk ontwikkeld om modulair te zijn en om afhankelijkheden tussen systeemservices (bijvoorbeeld ruimtelijke kennis) te minimaliseren.

Vanwege de aard van sommige systeemservices (bijvoorbeeld invoer en teleportatie), is er een klein aantal afhankelijkheden.

Hoewel de verwachting is dat services een of meer gegevensprovideronderdelen nodig hebben, zijn er geen directe koppelingen tussen deze onderdelen. Hetzelfde geldt voor SDK-functies (bijvoorbeeld Gebruikersinterface onderdelen).

Onderdeelcommunicatie

Om ervoor te zorgen dat er geen directe koppelingen tussen onderdelen zijn, maakt MRTK v2 gebruik van interfaces om te communiceren tussen services, gegevensproviders en toepassingscode. Deze interfaces worden gedefinieerd in en alle communicatie wordt gerouteerd via Mixed Reality Toolkit kernonderdeel.

Het systeem voor ruimtelijke kennis gebruiken via interfaces

IMPORTvoetafdruk van MRTK minimaliseren

Op dit moment wordt de MRTK geïmporteerd als één basispakket (waarbij het bestaan van het voorbeeldenpakket nog even wordt genegeerd, wat een volledig optioneel pakket is). Het is mogelijk om deze footprint kleiner te maken door de geïmporteerde bestanden handmatig te beperken, hoewel dit een zeer handmatig proces is dat geen goed gedefinieerde handleiding heeft.

Het is mogelijk om willekeurige items uit te checken tijdens het importeren van het Foundation-pakket. Het wordt echter niet aanbevolen om dit in een vroeg stadium van de ontwikkeling te doen, omdat de functionaliteit hierdoor mogelijk wordt breekt. Nadat u de uiteindelijke functieset van een app hebt vastgesteld, kunt u in de volgende mappen onnodige providers en services verwijderen:

  • MRTK/Services
  • MRTK/providers
  • MRTK/SDK/functies

Notitie

MrTK v2.x vereist de inhoud van de map Assets/MRTK/Core.

Toekomstige functies

Toepassingsarchitectuur

De MRTK biedt ondersteuning voor het maken van toepassingen met verschillende architecturen, waaronder:

Wanneer u een toepassingsarchitectuur selecteert, is het belangrijk om rekening te houden met ontwerpflexibiliteit en toepassingsprestaties. De architecturen die hier worden beschreven, zijn naar verwachting niet geschikt voor elke toepassing.

MixedRealityToolkit-servicezoeker

De MRTK schakelt toepassingsscènes in (en configureert deze automatisch) om het standaardonderdeel MixedRealityToolkit servicelocator te gebruiken. Dit onderdeel bevat ondersteuning voor het configureren van MRTK-systemen en -gegevensproviders via configuratie-inspectors en beheert levensduur van onderdelen en kerngedrag (bijvoorbeeld wanneer moet worden bijgewerkt).

Alle systemen worden weergegeven in de kernconfiguratiecontrole, ongeacht of ze aanwezig zijn of zijn ingeschakeld in het project. Raadpleeg de handleiding Mixed Reality configuratie voor meer informatie.

Afzonderlijke serviceonderdelen

Sommige ontwikkelaars hebben de wens uitgedrukt om afzonderlijke serviceonderdelen op te nemen in de scènehiërarchie van de toepassing. Als u dit gebruik wilt inschakelen, moeten services worden ingekapseld in een aangepaste registrar of zelf registreren/zelf beheren.

Een zelfregistratieservice zou de implementeren en zichzelf registreren, zodat de toepassingscode het IMixedRealityServiceRegistrar service-exemplaar via een register kan vinden.

Een zelfbeheerde service kan worden geïmplementeerd als een singleton-object in de scènehiërarchie. Dit object biedt de instantie-eigenschap en die toepassingscode kan gebruiken om rechtstreeks toegang te krijgen tot de servicefunctionaliteit.

Aangepaste servicelocator

Sommige ontwikkelaars hebben de mogelijkheid gevraagd om een aangepast servicezoekeronderdeel te maken. Aangepaste servicelocatoren zouden de interface implementeren en de levenscyclus en kerngedrag van actieve IMixedRealityServiceRegistrar services beheren.

Hybride architectuur

De MRTK biedt ondersteuning voor een hybride architectuur waarin ontwikkelaars de vorige benaderingen naar behoefte of gewenst kunnen combineren. Een ontwikkelaar kan bijvoorbeeld beginnen met de MixedRealityToolkit servicezoeker en een zelf-registrerende service toevoegen.

Notitie

Wanneer u kiest voor een hybride architectuur, is het belangrijk rekening te houden met eventuele duplicatie van werk (bijvoorbeeld het verkrijgen van controllergegevens uit meerdere onderdelen).