MRTK2-profilkonfigurációs útmutató

Mixed Reality Eszközkészlet a lehető legnagyobb mértékben központosítja az eszközkészlet kezeléséhez szükséges konfigurációt (kivéve a valódi futtatókörnyezeti "dolgokat").

Ez az útmutató egy egyszerű útmutató az eszközkészlethez jelenleg elérhető konfigurációs profilok képernyőihez.

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

A jelenetben a MixedRealityToolkit GameObject elemhez csatolt fő konfigurációs profil biztosítja a projekt eszközkészletének fő belépési pontját.

Megjegyzés

Mixed Reality Eszközkészlet "zárolja" az alapértelmezett konfigurációs képernyőket, hogy mindig legyen közös kiindulási pontja a projektnek, és javasoljuk, hogy a projekt fejlődésével kezdje el meghatározni a saját beállításait. Az MRTK-konfiguráció lejátszás közben nem szerkeszthető.

MRTK-konfigurációs profil

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

Fontos

A DefaultHoloLens2ConfigurationProfile HoloLens 2 van optimalizálva. A részletekért tekintse meg a Profilok című témakört.

Amikor megnyitja a fő Mixed Reality eszközkészlet konfigurációs profilját, a következő képernyő jelenik meg az ellenőrben:

MRTK-konfigurációs jelenet

Ha egy MixedRealityToolkitConfigurationProfile objektumot választ a jelenetBen a MixedRealityToolkit nélkül, a rendszer megkérdezi, hogy szeretné-e, hogy az MRTK automatikusan beállítsa Önnek a jelenetet. Ez nem kötelező; Azonban az összes konfigurációs képernyő eléréséhez aktív MixedRealityToolkit objektumnak kell lennie a jelenetben.

Ez a projekt aktuális aktív futtatókörnyezeti konfigurációját tartalmazza.

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

Ezek a konfigurációs profilok az alábbiakban találhatók a vonatkozó szakaszokban:


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

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

Experiance beállítások

Kamerabeállítások

A kamera beállításai határozzák meg, hogyan lesz beállítva a kamera a Mixed Reality projekthez, meghatározva az általános kivágási, minőségi és áttetszőségi beállításokat.

Kameraprofil

Bemeneti rendszer beállításai

A Mixed Reality Project robusztus és jól betanított bemeneti rendszert biztosít az alapértelmezés szerint kiválasztott projekt összes bemeneti eseményének útválasztásához.

Bemeneti rendszer beállításai 1

Az MRTK által biztosított bemeneti rendszer mögött számos más rendszer található, amelyek segítenek a többplatformos/vegyes valósági keretrendszer összetettségének absztrakcióhoz szükséges összetett szövések irányításában és kezelésében.

Bemeneti rendszer beállításai 2

Az egyes profilok részletes ismertetését alább találja:


Határvizualizáció beállításai

A határrendszer lefordítja a mögöttes platformok határa / őrrendszer által jelentett vélt határt. A Határvizualizáció konfigurációja lehetővé teszi a rögzített határ automatikus megjelenítését a jeleneten belül a felhasználó helyzetéhez képest. A határ is reagál / frissítés alapján, ahol a felhasználó teleportál a jeleneten belül.

A Boundry vizualizáció beállításai

Teleportációs rendszer kiválasztása

A Mixed Reality Project teljes körű teleportálási rendszert biztosít az alapértelmezés szerint kiválasztott projekt teleportációs eseményeinek kezeléséhez.

Teleportrendszer beállításai

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

A Mixed Reality Project egy újraépített térbeli tudatossági rendszert biztosít az alapértelmezés szerint kiválasztott projekt térbeli ellenőrzési rendszereivel való munkához.

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

Mixed Reality Eszközkészlet térbeli tudatosság konfigurációjával testre szabhatja a rendszer indításának módját, függetlenül attól, hogy az automatikusan elindul-e, amikor az alkalmazás vagy később programozott módon indul el, valamint beállítja a nézet kiterjedésének mértékét.

Emellett a háló- és felületbeállítások konfigurálását is lehetővé teszi, így tovább szabhatja, hogy a projekt hogyan értelmezi a környezetét.

Ez csak azokra az eszközökre vonatkozik, amelyek képesek beolvasott környezetet biztosítani.

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

Diagnosztikai beállítások

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

Diagnosztikai beállítások

A diagnosztikai profil számos egyszerű rendszert biztosít a projekt futása közbeni monitorozáshoz, beleértve a praktikus Be/Ki kapcsolót a kijelző panel engedélyezéséhez/letiltásához a jelenetben.

Diagnosztikai beállítások Rendszerbeállítások 2

Jelenetrendszer beállításai

Az MRTK ezt az opcionális szolgáltatást nyújtja az összetett additív jelenet be- és kirakodásának kezeléséhez. Annak eldöntéséhez, hogy a Jelenetrendszer megfelelő-e a projekthez, olvassa el a Jelenetrendszer Első lépések útmutatót.

Jelenetrendszer beállításai 1

További szolgáltatások beállításai

A Mixed Reality Toolkit egyik fejlettebb területe a szolgáltatáskereső minta implementálása, amely lehetővé teszi bármely "szolgáltatás" regisztrálását a keretrendszerrel. Ez lehetővé teszi, hogy a keretrendszer új funkciókkal és rendszerekkel is könnyen bővüljön, de lehetővé teszi, hogy a projektek kihasználhassák ezeket a képességeket a saját futtatókörnyezeti összetevőik regisztrálásához.

A regisztrált szolgáltatások továbbra is teljes mértékben kihasználják a Unity összes eseményét, anélkül, hogy monoBehaviour vagy clunky singleton mintákat implementálnak. Ez lehetővé teszi a tiszta C#-összetevőket, amelyek nem járnak jelenetterheléssel az előtérben és a háttérfolyamatokban, például ívási rendszerekben, futtatókörnyezeti játéklogikában vagy gyakorlatilag bármi másban.

további rendszerbeállítások

Beviteli műveletek beállításai

A bemeneti műveletek lehetővé teszik a futásidejű projektek fizikai interakcióinak és bemeneteinek absztrakcióit. Minden fizikai bemenet (vezérlőkről/ kezekről/ egérről/ stb.) egy logikai bemeneti műveletre van lefordítva a futtatókörnyezeti projektben való használathoz. Ez biztosítja, hogy a bemenet honnan származik, a projekt egyszerűen "Teendők" vagy "Interakció" néven valósítja meg ezeket a műveleteket a jelenetekben.

Új beviteli művelet létrehozásához egyszerűen kattintson az "Új művelet hozzáadása" gombra, és írjon be egy rövid szövegnevet a jelentéséhez. Ezután csak egy tengelyt (az adattípust) kell kiválasztania, amelyet a művelet közvetíteni kíván, vagy fizikai vezérlők esetén azt a fizikai bemeneti típust, amelyhez csatolható, például:

Tengelykényszer Adattípus Leírás Példa a használatra
None Nincsenek adatok Ü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 be- vagy kikapcsolt típusú adatok Vezérlő gomb
Egytengelyes float Egyetlen pontosságú adatérték Egy tartományba sorolt bemenet, például egy trigger
Kettős tengely Vektor2 Kettős lebegőpontos típus dátuma több tengelyhez Dpad vagy thumbstick
Három pont pozíciója Vektor3 Pozíciótípus adatai a 3 lebegőpontos tengelyrel Csak 3D pozícióstílusú vezérlő
Három pont elforgatása Quaternion Csak elforgatási bemenet 4 lebegőpontos tengelyen Háromfokú stílusvezérlő, például Oculus Go vezérlő
Hat dof Mixed Reality Pose (Vector3, Quaternion) Pozíció- és elforgatási stílus bemenete a Vector3 és a Quaternion összetevővel 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 használhatók a projekten belül, hogy a futásidejű effektusok új műveleteket generáljanak.

Megjegyzés

A bemeneti műveletek egyike azon kevés összetevőknek, amelyek futásidőben nem szerkeszthetők, csak tervezési időkonfigurációk. Ezt a profilt nem szabad felcserélni, amíg a projekt fut, mert a keretrendszer (és a projektek) függősége az egyes műveletekhez létrehozott azonosítótól függ.

Konfigurációs profil

Bemeneti műveletek szabályai

A bemeneti műveleti szabályok lehetővé teszik, hogy az egy bemeneti művelethez létrehozott eseményeket automatikusan lefordítsák a különböző műveletekre az adatérték alapján. Ezek kezelése zökkenőmentesen a keretrendszeren belül, és nem jár teljesítményköltséggel.

Például az egyetlen kéttengelyes bemeneti esemény konvertálása a DPadben a 4 megfelelő "Dpad Up" / "DPad Down" / "Dpad Left" / "Dpad Right" műveletre (az alábbi képen látható módon).

Ez a saját kódjában is elvégezhető. Mivel azonban ez egy nagyon gyakori minta volt, a keretrendszer olyan mechanizmust biztosít, amely ezt a "házon kívül"

A bemeneti művelet szabályai bármely elérhető bemeneti tengelyhez konfigurálhatók. Az egyik tengelytípusból származó bemeneti műveletek azonban lefordíthatók ugyanahhoz a tengelytípushoz tartozó másik bemeneti műveletre. A kéttengelyes műveletet leképezheti egy másik kéttengelyes műveletre, digitális vagy egyik műveletre sem.

Bemeneti műveleti szabályok profilja


Mutató konfigurálása

A mutatókkal bármilyen bemeneti eszközről vezérelhető a jelenet interaktivitása, amely irányt és találati tesztet is biztosít a jelenet bármely objektumával (amelyhez ütköző van csatlakoztatva, vagy egy felhasználói felületi összetevő). A mutatók alapértelmezés szerint automatikusan konfigurálva vannak a vezérlőkhöz, a headsetekhez (tekintet/ fókusz) és az egér-/érintéses bemenethez.

A mutatók az aktív jeleneten belül is megjeleníthetők a Mixed Reality Toolkit által biztosított számos vonalösszetevő egyikével, vagy bármelyik sajátkal, ha implementálják az MRTK IMixedRealityPointer felületét.

Bemeneti mutató profilja
  • Mutató kiterjedése: Meghatározza az összes mutató globális pontozási kiterjedését, beleértve a tekintetet is.
  • A Raycast-rétegmaszkok mutatása: Meghatározza, hogy mely rétegekre mutatnak a mutatók.
  • Rajzpontozási sugarak hibakeresése: Hibakeresési segéd a sugárszóráshoz használt sugarak vizualizációjához.
  • Rajzpontozási sugarak színeinek hibakeresése: A vizualizációhoz használható színek készlete.
  • Tekintetkurzor előképe: Megkönnyíti a globális tekintetek kurzorának megadását bármely jelenethez.

Van egy további segítő gomb, amellyel gyorsan a Gaze Providerre ugorhat, hogy szükség esetén felülbíráljon bizonyos értékeket a Tekintethez.


Kézmozdulatok konfigurálása

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

Megjegyzés

A jelenlegi Gestures implementáció csak a HoloLensre vonatkozik, és más rendszereken is tovább lesznek fejlesztve, mivel a jövőben felkerülnek az eszközkészletbe (dátumok még nincsenek).

Kézmozdulat konfigurálása

Beszédparancsok

A kézmozdulatokhoz hasonlóan egyes futtatókörnyezeti platformok intelligens "Szövegfelolvasás" funkciót is biztosítanak a Unity-projekt által fogadható parancsok létrehozására. Ez a konfigurációs profil lehetővé teszi a következők konfigurálását:

  1. Általános beállítások – Az automatikus indításra vagy a manuális indításra beállított "Indítási viselkedés" azt határozza meg, hogy inicializálja-e a KeywordRecognizert a bemeneti rendszer indításakor, vagy hagyja, hogy a projekt eldöntse, mikor inicializálja a KeywordRecognizert. A "Recognition Confidence Level" a Unity KeywordRecognizer API-jának inicializálására szolgál
  2. Beszédparancsok – Regisztrálja a "szavakat", és lefordítja őket a projekt által fogadható bemeneti műveletekre. Szükség esetén billentyűzetműveletekhez is csatolhatók.

Fontos

A rendszer jelenleg csak akkor támogatja a beszédfelismerést, ha Windows 10 platformokon fut, például a HoloLens és az asztali Windows 10, és más rendszerekhez is tovább lesznek fejlesztve, mivel a későbbiekben hozzáadják őket az MRTK-hoz (dátumok még nincsenek).

Konfigurációs profil képernyői

Vezérlőleképezési konfiguráció

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ásának és leképezésének lehetősége.

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

Vezérlőleképezés

Az MRTK az alábbi vezérlőkhöz/rendszerekhez biztosít alapértelmezett konfigurációt:

  • Egér (beleértve a térbeli térbeli egértámogatást)
  • Érintőképernyő
  • Xbox-vezérlők
  • Windows Mixed Reality vezérlők
  • HoloLens-kézmozdulatok
  • HTC Vive wand vezérlők
  • Oculus Touch vezérlők
  • Oculus remote controller
  • Általános OpenVR-eszközök (csak haladó felhasználók számára)

Az előre elkészített vezérlőrendszerek rendszerképére kattintva egyetlen bemeneti műveletet konfigurálhat az összes megfelelő bemenethez, például tekintse meg az oculus touch controller konfigurációs képernyőjét alább:

Vezérlő konfigurációs képernyője

A fentiekben nem azonosított egyéb OpenVR- vagy Unity-bemeneti vezérlők konfigurálásához speciális képernyő 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 testre szabja, hogyan jelenjenek meg a vezérlők a jelenetekben.

Ez konfigurálható "globális" (egy adott kézhez tartozó vezérlő összes példánya) vagy egy adott vezérlőtípushoz/kézhez.

Az MRTK a natív SDK-vezérlőmodelleket is támogatja a Windows Mixed Reality és az OpenVR esetében. Ezek GameObjectsként vannak betöltve a jelenetben, és a platform vezérlőkövetésével vannak elhelyezve.

Ha a vezérlő jelenetben való ábrázolását el kell tolni a fizikai vezérlő pozíciójától, akkor egyszerűen állítsa be ezt az eltolást a vezérlőmodell előlapjához (például állítsa be a vezérlő előlapjának átalakítási pozícióját eltolási pozícióval).

Vizualizációs profil

Szerkesztő segédprogramok

A következő segédprogramok csak a szerkesztőben működnek, és hasznosak a fejlesztési hatékonyság javítása érdekében.

AZ MRTK-szerkesztő konfigurációs segédprogramja

Szolgáltatásfelügyelők

A Szolgáltatásfelügyelők egy csak szerkesztői funkció, amely az aktív szolgáltatásokat képviselő jeleneten belüli objektumokat hoz létre. Az objektumok kiválasztásakor megjelennek a dokumentációs hivatkozásokat kínáló ellenőrök, a szerkesztői vizualizációk vezérlése és a szolgáltatás állapotának áttekintése.

Szolgáltatásfelügyelők

A szolgáltatásfelügyelők engedélyezéséhez ellenőrizze a Szolgáltatásfelügyelők használata elemet a Konfigurációs profil Szerkesztő beállításai területén.

Mélységpuffer-megjelenítő

A mélységi puffer egyes vegyes valósági platformokkal való megosztása javíthatja a hologramok stabilizálását. A Windows Mixed Reality platform például módosíthatja a képpontonkénti renderelt jelenetet úgy, hogy figyelembe veszi a képkockák rendereléséhez szükséges finom fejmozgásokat. Ezeknek a technikáknak azonban pontos adatokkal rendelkező mélységpufferekre van szükségük ahhoz, hogy megtudják, hol és milyen távolságra van a geometria a felhasználótól.

Annak biztosítása é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ő beállításai területén kapcsolhatják be a Mélységpuffer renderelése funkciót. Ez az aktuális mélységi puffert veszi fel, és színként jeleníti meg a jelenet nézetében, ha utófeldolgozási effektust alkalmaz a DepthBufferRendererfő kamerára.

Render Depth Buffer UtilityA kék henger a jelenetben van egy anyag ZWrite ki, így nincs mélységi adatok írva

Profilok módosítása futtatókörnyezetben

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

  1. MRTK-inicializálás előtti profilváltás: Indításkor az MRTK inicializálása és a profil aktívvá tétele előtt cserélje le a még használatban nem lévő profilt a különböző funkciók engedélyezésére/letiltására az eszköz képességei alapján. Ha például a felület olyan VR-környezetben fut, amely nem rendelkezik térbeli leképezési hardverekkel, akkor valószínűleg nincs értelme engedélyezni a térbeli leképezési összetevőt.
  2. Aktív profilváltás: Az indítás után az MRTK inicializálása és egy profil aktívvá válása után cserélje le a jelenleg használt profilt, hogy megváltoztassa bizonyos funkciók viselkedését. Előfordulhat például, hogy egy adott alélmény van az alkalmazásban, amely teljes mértékben el szeretné távolítani a távoli mutatókat.

MRTK-inicializálási profilváltás előtti kapcsoló

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. Awake()). Vegye figyelembe, hogy a szkriptet (azaz a hívását SetProfileBeforeInitialization) a MixedRealityToolkit szkriptnél korábban kell végrehajtani, ami a parancsprogram végrehajtási sorrendjének beállításával é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 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 bizonyos profilok tetszőleges készlete vonatkozik az adott platformokra (például egy a HoloLens 1-hez, egy a VR-hoz, egy a HoloLens 2 stb.). Különböző egyéb mutatók (például https://docs.unity3d.com/ScriptReference/SystemInfo.html, vagy hogy a kamera átlátszatlan/átlátszó) használatával állapítható meg, hogy melyik profilt kell betölteni.

Aktív profilkapcsoló

Ezt úgy teheti meg, hogy a MixedRealityToolkit.Instance.ActiveProfile tulajdonságot egy új profilra állítja az aktív profil helyett.

MixedRealityToolkit.Instance.ActiveProfile = profileToUse;

Vegye figyelembe, hogy ActiveProfile futásidőben 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ő frissítése() előtt történik.

A folyamat során észrevehető alkalmazás-hezitálás fordulhat elő. A szkriptnél magasabb prioritású szkriptek is beírhatják a MixedRealityToolkit frissítését, mielőtt az új profil megfelelően be van állítva. A parancsprogram prioritásáról további információt a Parancsfájl-végrehajtási rendelés beállításai című témakörben talál.

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

Lásd még