MRTK-profilkonfigurációs útmutató

A Mixed Reality eszközkészlet a lehető legtöbb olyan konfigurációt központosítja, amely az eszközkészlet kezeléséhez szükséges (kivéve a valódi futásidejű "dolgokat").

Ez az útmutató egy egyszerű útmutató az eszközkészlethez jelenleg elérhető konfigurációs profilképernyőkhöz.

A fő Mixed Reality eszközkészlet konfigurációs profilja

A fő konfigurációs profil, amely a MixedRealityToolkit GameObject elemhez van csatolva a jelenetben, a projektben található eszközkészlet fő belépési pontját biztosítja.

Megjegyzés

Az Mixed Reality-eszközkészlet "zárolja" az alapértelmezett konfigurációs képernyőket, így mindig közös kiindulópontot biztosít a projekthez, és azt is javasolt, hogy a projekt fejlődése során elkezdje meghatározni a saját beállításait. Az MRTK-konfiguráció nem szerkeszthető a lejátszás közben.

MRTK konfigurációs profil

Az Mixed Reality Toolkit összes "alapértelmezett" profilja megtalálható az SDK-projektben az Assets/MRTK/SDK/Profiles mappában.

Fontos

A DefaultHoloLens2ConfigurationProfile a 2. HoloLens van optimalizálva. A részletekért lásd: Profilok.

A fő eszközkészlet Mixed Reality konfigurációs profil megnyitásakor a következő képernyő jelenik meg az inspectorban:

MRTK configuration scene

Ha a MixedRealityToolkitConfigurationProfile eszközt a jelenetben a MixedRealityToolkit nélkül választja ki, a rendszer megkérdezi, hogy az MRTK automatikusan beállítja-e a jelenet beállítását. Ez nem kötelező, de az összes konfigurációs képernyő eléréséhez egy aktív MixedRealityToolkit objektumnak kell lennie a jelenetben.

Ebben található a projekt aktuális aktív futásidejű konfigurációja.

Innen navigálhat az MRTK összes konfigurációs profiljához, beleértve a következőket:

Ezeket a konfigurációs profilokat alább, a vonatkozó szakaszok ismertetik:


Felhasználói élmény beállításai

Ez a beállítás Mixed Reality eszközkészlet konfigurációs főoldalán található, és a projekt Mixed Reality alapértelmezett műveletét határozza meg.

Experiance settings

Kamerabeállítások

A kamerabeállítások határozzák meg, hogy a kamera hogyan lesz beállítva Mixed Reality projekthez, meghatározva az általános vágólapra, a minőségre és az átlátszóságra vonatkozó beállításokat.

Camera Profile

Bemeneti rendszer beállításai

A Mixed Reality Project egy robusztus és jól betanított bemeneti rendszert biztosít a projekt körüli összes bemeneti esemény útválasztásához, amely alapértelmezés szerint ki van választva.

Input System settings 1

Az MRTK által biztosított bemeneti rendszer mögött számos más rendszer is található, amelyek segítenek a többplatformos/vegyes valóságon alapuló keretrendszer összetett kereszttitkának absztrakciós rétegeinek absztrakciójában és kezelésében.

Input System settings 2

Az egyes profilok részletes leírását alább olvashatja:


Határ vizualizációs beállításai

A határrendszer lefordítja az alapul szolgáló platformok határ-/őrrendszere által jelentett észlelt határt. A Boundary vizualizáló konfigurációja lehetővé teszi, hogy automatikusan meg tudja mutatni a jelenet rögzített határvonalát a felhasználó pozíciójához viszonyítva. A határ a jeleneten belüli felhasználói teleportálás helyének megfelelően is reagál/frissül.

Boundry Visualization Settings

Teleportációs rendszer kiválasztása

A Mixed Reality Project teljes funkcionalitású teleportációs rendszert biztosít a projekt teleportációs eseményeinek kezeléséhez, amely alapértelmezés szerint ki van választva.

Teleport System settings

Térbeli tudatosság beállításai

A Mixed Reality Project egy előre összeállított tértudatos rendszert biztosít a projekt térbeli ellenőrzési rendszereihez, amely alapértelmezés szerint ki van választva.

Spatial Awareness settings 1

Az Mixed Reality Eszközkészlet térbeli tudatosságának konfigurációja lehetővé teszi a rendszer indulásának testre szabást, akár automatikusan, akár az alkalmazás programozott indításakor, akár később, valamint a megtekintési terület méretének beállítását.

Emellett a háló és a felület beállításait is konfigurálhatja, így tovább szabhatja, hogy a projekt hogyan megértse az Ön környezetét.

Ez csak olyan eszközökre vonatkozik, amelyek beolvasott környezetet tudnak biztosítani.

Spatial Awareness settings 2

Diagnosztikai beállítások

Az MRTK választható, de rendkívül hasznos funkciója a beépülő modulok diagnosztikai funkciója.

Diagnostics settings

A diagnosztikai profil számos egyszerű rendszert biztosít a projekt futása közben figyelhető rendszerekhez, köztük egy hasznos Be/Ki kapcsolót a kijelzőpanel engedélyezéséhez/letiltásához a jelenetben.

Diagnostics settings System settings 2

Jelenetrendszer beállításai

Az MRTK biztosítja ezt a választható szolgáltatást, amely segít az additív jelenet összetett betöltésében/eltávolításakor. Ha el szeretné dönteni, hogy a Scene System megfelelő lenne-e a projekthez, olvassa el a Scene System Getting Started Guide (Scene System – Első lépések útmutató) útmutatót.

Scene System settings 1

További szolgáltatásbeállítások

A Mixed Reality eszközkészlet egyik fejlettebb területének egyike a szolgáltatáslokátorminta implementációja, amely lehetővé teszi bármely "szolgáltatás" regisztrálását a keretrendszerben. Ez lehetővé teszi, hogy a keretrendszer könnyen ki legyen terjeszteni új funkciókkal/rendszerekkel, de lehetővé teszi a projektek számára, hogy kihasználják ezeket a képességeket a saját futásidejű összetevőik regisztrálása érdekében.

Minden regisztrált szolgáltatás továbbra is kihasználhatja az összes Unity-esemény előnyeit anélkül, hogy a MonoBehaviour- vagy clunky singleton-minták megvalósítása többletterhelést és költségeket okozna. Ez lehetővé teszi olyan tiszta C#-összetevők futtatását, amelyek nem jár jelenetterheléssel az előtér- és a háttérfolyamatok futtatásakor, például rendszereket, futtatókörnyezeti játéklogikát vagy gyakorlatilag bármi mást futtatnak.

additional System settings

Bemeneti műveletek beállításai

A bemeneti műveletek lehetővéják a fizikai interakciók és bemenetek absztrakcióját a futásidejű projektekből. A rendszer minden fizikai bemenetet (vezérlőkből/ kézből/egérből/stb.) lefordít egy logikai bemeneti műveletre a futásidejű projektben való használathoz. Ez biztosítja, hogy függetlenül attól, hogy honnan származik a bemenet, a projekt egyszerűen "Dolgok, amit kell tenni" vagy "Interakció" műveletként implementálja ezeket a műveleteket a színfalak mögött.

Új bemeneti művelet létrehozásához egyszerűen kattintson az "Új művelet hozzáadása" gombra, és adjon meg egy rövid szöveges nevet az adott művelet jelentéséhez. Ezután csak ki kell választania egy tengelyt (az adatok típusát), a műveletet közvetítenie kell, fizikai vezérlők esetén pedig a fizikai bemeneti típust, amelyhez csatolható, például:

Tengelymegkötés Adattípus Leírás Példa a használatra
None Nincs adat Üres művelethez vagy eseményhez használatos Eseményindító
Nyers (fenntartott) object Jövőbeli használatra fenntartva N/A
Digitális logikai Logikai típusú adatok be- és kikapcsolása Vezérlő gomb
Egyetlen tengely float Egyetlen pontosságú adatérték Egy tartományba bemenő adat, például egy eseményindító
Kettős tengely 2. vektor Kettős lebegőtűs dátum több tengelyhez Egy Dpad vagy thumbstick
Három Dof-pozíció Vector3 Pozíciótípus-adatok 3 lebegő tengelyről Csak 3D pozícióstílus vezérlője
Három Dof-rotáció Quaternion Csak forgó bemenet 4 lebegőpontos tengelysel Egy három fokos stílusvezérlő, például Oculus Go-vezérlő
Hat dof Mixed Reality Pose (Vector3, Quaternion) Pozíció és rotáció típusú bemenet Vector3 és Quaternion összetevőkkel Mozgásvezérlő vagy mutató

A bemeneti műveleteket használó események nem korlátozódnak a fizikai vezérlőkre, és továbbra is felhasználhatók a projekten belül, hogy a futásidejű hatás új műveleteket hozzon létre.

Megjegyzés

A bemeneti műveletek egyike annak a kevés összetevőnek, amely futásidőben nem szerkeszthető, csak tervezési időkonfiguráció. Ezt a profilt nem szabad felcserélni, amíg a projekt fut, mivel a keretrendszer (és a projektek) függősége az egyes tevékenységek azonosítóitól függ.

Configuration Profile

Bemeneti műveletek szabályai

A bemeneti műveletek szabályaival automatikusan lefordíthat egy bemeneti művelethez generált eseményt különböző műveletekre az adatértéke alapján. Ezek kezelése zökkenőmentesen, a keretrendszeren belül, és nem jár teljesítményköltségekkel.

Például az egyetlen kéttengelyes bemeneti eseményt átalakítjuk egy DPadről a 4 megfelelő "Dpad Up" / "DPad Down" / "Dpad Left" / "Dpad Right" műveletre (az alábbi képen látható módon).

Ezt a saját kódban is meg lehet tenni. Mivel azonban ez egy nagyon gyakori minta volt, a keretrendszer egy olyan mechanizmust biztosít, amely "az elsőre" biztosítja ezt a lehetőséget.

Bemeneti művelet A szabályok bármely elérhető bemeneti tengelyhez konfigurálhatóak. Az egyik tengelytípus bemeneti műveletei azonban lefordíthatóak egy másik, azonos típusú bemeneti műveletre. A kettős tengely műveletét leképezheti egy másik kettős tengely műveletére, de digitális vagy nincs műveletre nem.

Bemeneti művelet szabályprofilja


Mutató konfigurálása

A mutatók arra használhatók, hogy a jelenetben bármilyen bemeneti eszközről interaktivitást támassunk, irányt adva, és tesztnek is adjuk a jelenet bármely objektumát (amely egy összeütköztetővel rendelkezik, vagy felhasználói felületi összetevő). A mutatók alapértelmezés szerint automatikusan konfigurálva vannak a vezérlőkhöz, a headsethez (tekintet/ fókusz) és az egér/érintés bemenethez.

A mutatók az aktív jelenetben is ábrázolhatóak az Mixed Reality Toolkit által biztosított számos sorösszetevő egyikével, vagy bármelyik saját eszközzel, ha implementálják az MRTK IMixedRealityPointer felületet.

Input Pointer Profile
  • Rámutatás mértéke: Meghatározza az összes mutató globális mutatóját, beleértve a tekintetet is.
  • A Raycast Layer Masks (Sugárcímzési réteg maszkja): Meghatározza, hogy mely rétegekre mutatnak majd a mutatói.
  • Debug Draw Pointing Rays: A debug helper for visualizing the raycasting (A rajzolás rámutató sugárának hibakeresése): Hibakeresési segédeszközök a sugárcímzéshez használt sugárok megjelenítéséhez.
  • Hibakeresés a rajzolás rámutató sugár színeinek hibakeresése: A vizualizációhoz használt színek halmaza.
  • Tekintet a kurzor előfedőlapjára: Megkönnyíti a globális tekintet kurzorának megadását bármely jelenethez.

Van egy további segítő gomb is, amely gyorsan a Gaze Providerre ugrik, hogy szükség esetén felülbírálja a Tekintet bizonyos értékeit.


Kézmozdulatok konfigurálása

A kézmozdulatok rendszerspecifikus implementációk, amelyek lehetővé teszik bemeneti műveletek hozzárendelését a különböző SDK-k által biztosított különböző "kézmozdulatok" bemeneti HoloLens.

Megjegyzés

A kézmozdulatok jelenlegi implementációja csak HoloLens, és a jövőben az eszközkészlethez való hozzáadásukkor tovább lesz javítva más rendszerek esetében (még nincsenek dátumok).

Gesture configuration

Beszédparancsok

A kézmozdulatokhoz hasonló, egyes futásidejű platformok intelligens "Speech to Text" funkciót is biztosítanak, amely lehetővé teszi a Unity-projektek által fogadott parancsok generálését. Ezzel a konfigurációs profillal a következőket konfigurálhatja:

  1. Általános Gépház – Az Automatikus indítás vagy a Manuális indítás beállítású "Indítási viselkedés" beállítás határozza meg, hogy inicializálja-e a KeywordRecognizert a bemeneti rendszer indításakor, vagy hagyja, hogy a projekt döntse el, mikor inicializálja a KeywordRecognizert. A "Recognition Confidence Level" a Unity KeywordRecognizer API-jának inicializálására használható
  2. Beszédparancsok – Regisztrálja a "szavakat", és lefordítja őket a projekt által fogadott bemeneti műveletekre. Szükség esetén billentyűzetműveletekhez is csatolhatóak.

Fontos

A rendszer jelenleg csak akkor támogatja a beszédet, ha Windows 10-platformokon, például HoloLens-on és Windows 10 Desktopon fut, és a jövőben tovább lesz javítva más rendszerek esetében, amikor a jövőben hozzáadják őket az MRTK-hoz (még nincsenek dátumok).

Configuration Profile screens

Vezérlőleképezés konfigurációja

A Mixed Reality Toolkit egyik alapvető konfigurációs képernyője a projekt által használható különböző típusú vezérlők konfigurálása és leképezése.

Az alábbi konfigurációs képernyőn konfigurálhatja az eszközkészlet által jelenleg felismert vezérlőket.

Controller Mapping

Az MRTK alapértelmezett konfigurációt biztosít a következő vezérlőkhöz/rendszerekhez:

  • Egér (beleértve a 3D térbeli egértámogatást)
  • Érintőképernyő
  • Xbox-vezérlők
  • Windows Mixed Reality vezérlők
  • HoloLens Gesztusok
  • A WAN-wand vezérlői
  • Oculus Touch-vezérlők
  • Oculus távoli vezérlő
  • Általános OpenVR-eszközök (csak haladó felhasználók)

Az előre felépített vezérlőrendszerek rendszerképére kattintva egyetlen bemeneti műveletet konfigurálhat az összes megfelelő bemenethez, például lásd az Oculus Touch vezérlő konfigurációs képernyőjét alább:

Controller config screen

Megjelenik egy speciális képernyő is, amely más, fent nem azonosított OpenVR- vagy Unity-bemeneti vezérlők konfigurálásához is rendelkezésre áll.


Vezérlő vizualizációs beállításai

A vezérlőleképezés mellett egy külön konfigurációs profil is rendelkezésre áll, amely testreszabja, hogyan jelennek meg a vezérlők a színfalak mögött.

Ez konfigurálható "Globális" (egy adott vezérlő összes példánya) vagy egy adott vezérlőtípusra/-kézre jellemzően.

Az MRTK a natív SDK-vezérlőmodelleket is támogatja a Windows Mixed Reality és az OpenVR-hez. Ezek GameObject-ként töltődnek be a jelenetbe, és a platform vezérlőkövetési funkcióját használják.

Ha a vezérlőnek a jelenetben való ábrázolása eltolható a fizikai vezérlő pozíciójától, egyszerűen állítsa be az eltolást a vezérlőmodell előfedőjéhez (például állítsa be a vezérlő előfedő pozícióját eltolási pozícióval).

Visualization profile

Szerkesztő segédprogramok

Az alábbi segédprogramok csak a szerkesztőben működnek, és hasznosak a fejlesztési hatékonyság növelése érdekében.

MRTK-szerkesztő konfigurációs segédprogramjai

Szolgáltatásvizsgáltatók

A Service Inspectors egy csak szerkesztői funkció, amely az aktív szolgáltatásokat képviselő jeleneten lévő objektumokat hoz létre. Ezeknek az objektumoknak a kiválasztásakor a vizsgálók dokumentációs hivatkozásokat, szerkesztővizualizációk vezérlését és a szolgáltatás állapotába való betekintést kínálnak.

Service Inspectors

A szolgáltatásvizsgáltatók engedélyezéséhez a Konfigurációs profil szerkesztőjének Szerkesztő Gépház Service Inspectors használata lehetőség be van va.

Mélységi puffer renderelője

A mélységi puffer egyes vegyes valóságú platformokkal való megosztása javíthatja a hologram-stabilizálást. A Windows Mixed Reality módosíthatja például a renderelt jelenet képpontonkénti módosítását, hogy figyelembe veszi a képkocka renderelése során történt apró fejmozgásokat. Ezek a technikák azonban pontos adatokat igénylő mélységi puffereket igényelnek, hogy tudják, hol és milyen messze van a geometria a felhasználótól.

Annak érdekében, hogy egy jelenet az összes szükséges adatot a mélységi pufferbe renderelje, a fejlesztők a Konfigurációs profil szerkesztőjének Szerkesztő Gépház válthatnak a Renderelés mélységi puffer funkciójával. Ez az aktuális mélységi puffert színként rendereli a jelenetnézetben egy utófeldolgozási hatás alkalmazásával a DepthBufferRenderer fő kamerára.

Render Depth Buffer Utility (Renderelés mélységpuffer segédprogramja) A jelenet kék hengere rendelkezik egy ZWrite-el kikapcsolt anyaggal, így nem ír mélységi adatokat

Profilok módosítása futásidőben

A profilok futásidőben frissítve is lehetnek, és általában két különböző forgatókönyv és időpont van, amelyekben ez hasznos lehet:

  1. MRTK-inicializálás előtti profilkapcsoló: Indításkor, az MRTK inicializálása és a profil aktívvá válása előtt, lecserélve a még nem használatban lévő profilt a különböző funkciók engedélyezéséhez vagy letiltásához az eszköz képességei alapján. Ha például a felhasználói élmény olyan VR-ban fut, amely nem rendelkezik térleképezési hardverrel, valószínűleg nincs értelme engedélyezni a térbeli leképezési összetevőt.
  2. Aktív profilkapcsoló: Indítás után, az MRTK inicializálása és egy profil aktívvá válása után felcseréli a jelenleg használatban lévő profilt bizonyos funkciók viselkedésének módosításakor. Előfordulhat például, hogy az alkalmazásban van egy olyan alélmény, amely teljesen el szeretné távolítani a távoli kézmutatókat.

MRTK-inicializálás előtti profilkapcsoló

Ez egy MonoBehaviour csatolásával valósítható meg (az alábbi példában), amely az MRTK inicializálása előtt fut (pl. Az És()). Figyelje meg, hogy a szkriptet (azaz a hívását) a szkriptnél korábban kell végrehajtani, ami a parancsprogram végrehajtási sorrendjének beállításával SetProfileBeforeInitialization MixedRealityToolkit érhető el.

using Microsoft.MixedReality.Toolkit;
using UnityEngine;

/// <summary>
/// Sample MonoBehaviour that will run before the MixedRealityToolkit object, and change
/// the profile, so that when the MRTK initializes it uses the profile specified below
/// rather than the one that is saved in its scene.
/// </summary>
/// <remarks>
/// Note that this script must have a higher priority in the script execution order compared
/// to that of MixedRealityToolkit.cs. See https://docs.unity3d.com/Manual/class-MonoManager.html
/// for more information on script execution order.
/// </remarks>
public class PreInitProfileSwapper : MonoBehaviour
{

    [SerializeField]
    private MixedRealityToolkitConfigurationProfile profileToUse = null;

    private void Awake()
    {
        // Here you could choose any arbitrary MixedRealityToolkitConfigurationProfile (for example, you could
        // add some platform checking code here to determine which profile to load).
        MixedRealityToolkit.SetProfileBeforeInitialization(profileToUse);
    }
}

A "profileToUse" helyett előfordulhat, hogy egyes profilok adott platformokra vonatkoznak (például egy a HoloLens 1-hez, egy a VR-hoz, egy a HoloLens 2-hez stb.). Különböző más jelzők (például vagy a kamera átlátszatlan/átlátszó) használatával is ki lehet deríteni, hogy melyik https://docs.unity3d.com/ScriptReference/SystemInfo.html profilt kell betölteni.

Aktív profilkapcsoló

Ez úgy valósítható meg, hogy a tulajdonságot egy új profilra használhatja, lecserélve MixedRealityToolkit.Instance.ActiveProfile az aktív profilt.

MixedRealityToolkit.Instance.ActiveProfile = profileToUse;

Vegye figyelembe, hogy a futtatás során a jelenleg futó szolgáltatások megsemmisítése az összes szolgáltatás utolsó LateUpdate() után történik, és az új profilhoz társított szolgáltatások példányosítása és inicializálása az összes szolgáltatás első Update() (frissítés) előtt történik ActiveProfile meg.

A folyamat során észrevehető alkalmazás-hezitálást okozhat. Emellett a szkriptnél magasabb prioritású parancsfájlok is beírhatja az Update (Frissítés) gombra MixedRealityToolkit az új profil megfelelő beállítása előtt. A szkript prioritással kapcsolatos további információkért lásd: Szkriptvégrehajtási sorrend beállításai.

A profilváltási folyamatban a meglévő felhasználói felületi kamera változatlan marad, így biztosítva, hogy a vásznat igénylő Unity felhasználói felületi összetevők továbbra is működnek a kapcsoló után.

Lásd még