A Microsoft Mixed Reality Toolkit 2.5 kibocsátási megjegyzései

Fontos

Van egy ismert fordítói probléma, amely hatással van a 2. Microsoft HoloLens ARM64 használatával készült alkalmazásokra. Ez a probléma a 2019 Visual Studio 16.8-as vagy újabb verzióra való frissítésével javítható. Ha nem tudja frissíteni a Visual Studio, importálja a csomagot az com.microsoft.mixedreality.toolkit.tools áthidaló megoldás alkalmazásához.

A 2.5.4 újdonsága

Javítja az Oculus-integrációval kapcsolatos hibát az UPM használata esetén

Az UPM használata esetén az OculusXRSDKDeviceManagerProfile előtagja indításkor mindig None (Nincs) lesz. Ez a kiadás úgy Eszközkezelő, hogy indításkor egy működő előtagkészletre mutasson.

Az OpenXR UPM-en keresztüli hibajavítása

Kijavít egy hibát, amely miatt az OpenXR-szolgáltatók alapértelmezés szerint nem voltak hozzáadva az link.xml-hoz, ezért az új projektek nem futnak az eszközön, amikor OpenXR-t és MRTK-t használ a Unity Csomagkezelő. A meglévő, frissített projektekhez továbbra is manuálisan kell hozzáadni.

A 2.5.3 újdonsága

Kijavít egy regressziót a 2.5.2-esben bevezetett Oculusszal

2.5.2 az Oculus SDKintegrálásakor buildelhető problémát vezetett be. Ez a kiadás visszaállítja ezt a problémát.

A 2.5.2 újdonsága

OpenXR-támogatás hozzáadása

Hozzá lett adva a Unity OpenXR előzetes verziójának és a Microsoft Mixed Reality OpenXR-csomag kezdeti támogatása. További információért tekintse meg az MRTK/XRSDKelső lépések oldalát, a Unityfórum bejegyzését, vagy a Microsoft dokumentációját.

Fontos

A Unityben az OpenXR csak a Unity 2020.3-as és újabb verziókban támogatott. Emellett csak az x64-, ARM- és ARM64-buildeket támogatja.

A határ vizualizációs hibái kijavítva

A határvizualizációk, például a padló vagy a fal most már megfelelően vannak konfigurálva és láthatóak futásidőben a határprofilnak megfelelően.

MsBuild Unity-támogatáshoz

Az MSBuild for Unity támogatása a 2.5.2-es kiadástól el lett távolítva, hogy igazodjon a Unity új csomag-útmutatójára.

A 2.5.1 újdonsága

Csomagfüggőség hibái kijavítva

Ez a kiadás kijavítja a nem megfelelő csomagközi fájlfüggőségeket (például a standard adateszközök fájljai már nem hivatkoznak hibásan az alapfájlokra). A 2.5.1-es verzió emellett explicit függőséget ad hozzá a Text Mesh-Pro.

Standard assets csomagárnyékolók az Assets/MRTK/Shaders eszközre másolva

A Standard Assets csomag UPM-en keresztüli telepítésekor a rendszer átmásolja a árnyékolókat az Assets/MRTK/Shaders mappába, így azok többé nem módosíthatók. Ez megoldja az univerzális renderelési folyamat (URP) árnyékolóinak a problémát, amelyek visszaállítják az örökölt viselkedést a projekt következő betöltésekor.

Ki van javítva a teleport kurzora kézre éklének

Ez a kiadás kijavít egy problémát, amely miatt a teleport cél kurzora a kézzel készített vizualizációkhoz rögzítheti a kurzort.

A 2.5.0 újdonsága

Unity Csomagkezelő (UPM) támogatása

Az Mixed Reality Eszközkészlet mostantól kezelhető a Unity-Csomagkezelő.

MRTK Foundation UPM-csomag

Megjegyzés

Az MRTK UPM-csomagok importálásához manuális lépések szükségesek. További információért Mixed Reality tekintse át Csomagkezelő Eszközkészletet és a Unity-Csomagkezelő ismertetőt.

Oculus Amit XR SDK-támogatás

Az MRTK mostantól támogatja az Oculus Headsetek és -vezérlők futtatását a natív XR SDK-folyamat használatával. A kézkövetést az Oculus Integration Unity-csomag is támogatja Eric Provencher MRTK-Questen való munkához!

Az eszköz az Oculus-küldetésen az új folyamat használatával való üzembe helyezésével kapcsolatos útmutatásért tekintse meg az Oculus-küldetés beállítási útmutatóját

Görgethető objektumgyűjtemény

Az MRTK UX összetevőt egy kísérleti funkcióról frissítettük, és nagyobb szabadságot biztosít a különböző méretű 3D-s tartalmak elrendezéséhez, és további támogatást nyújt az olyan objektumokhoz, amelyekhez nincs csatolva ütköztető. A tartalommaszkolás letiltására egy új lehetőség is bővült, amely megkönnyíti a prototípus-készítéseket.

További információ: Görgethető objektumgyűjtemény.

Görgethető objektumgyűjtemény

A teleportálási mutató animációja, kezelése és hangfejlesztése

A teleportálási mutató most továbbfejlesztett animációkat és hang-visszajelzéseket is biztosít. Továbbfejlesztettük a teleport mutató kezelését is, hogy zökkenőmentesebb legyen, amikor a közeli felületekről a távolabbi felületekre mutat.

Bemeneti szimuláció – adatlap

A HandInteractionExamples jelenet mostantól konfigurálható parancsikonnal rendelkezik, amely egy súgóoldalt mutat be a bemeneti szimulációhoz

Bemeneti szimuláció – adatlap

Bemenetszimulációs tekintet egérrel

A felhasználók mostantól az egérrel szimulálják a szemkövetést. Tekintse meg Eye Simulation Mode a mezőt a bemeneti szimulációs profilban, és állítsa Az egér beállítására. Ez lecseréli az előző Simulate Eye Position mezőt.

Szem tekintete egér

Bemeneti szimuláció mozgásvezérlője a szerkesztő Play Módban

A felhasználók most már úgy szimulálják a mozgásvezérlőt, mint a szerkesztői lejátszás módban. Az eseményindító, a gombra és a menügombok jelenleg támogatottak.

Konical grab pointer

Most már úgy konfigurálhatja a mutatókat, hogy a közeli objektumokat a kötőpontból, és nem egy körből lekérdezik. Ez jobban hasonlít az alapértelmezett 2. HoloLens viselkedésére, amely egy tő használatával lekérdezi a közeli objektumokat. A DefaultHoloLens2InputSystemProfile az új használatára is ConicalGrabPointer módosult.

Conical Grab Pointer

TestUtilities csomag

Most már van egy csomag (Microsoft.MixedReality.Toolkit.Unity.TestUtilities.2.5.0.unitypackage), amely tartalmazza azt a PlayMode és TestMode tesztinfra infrastruktúrát, amit az MRTK a teljes tesztek létrehozásához használ. Ez az infrastruktúra rendkívül hasznos volt magának az MRTK-csapatnak, és izgatottan várjuk a fogyasztókat, hogy ezt használják a saját projektjeik tesztelési lefedettségének hozzáadásához.

Az alábbi kód bemutatja, hogyan hozhat létre egy teszt handet, hogyan mutathatja meg egy adott helyen, hogyan mozgathatja, majd hogyan csippentve és nyithatja meg.

TestHand leftHand = new TestHand(Handedness.Left);
yield return leftHand.Show(new Vector3(-0.1f, -0.1f, 0.5f));
yield return leftHand.SetGesture(ArticulatedHandPose.GestureId.Pinch);
yield return leftHand.Move(new Vector3(0.2f, 0.2f, 0));
yield return leftHand.SetGesture(ArticulatedHandPose.GestureId.Open);

A tesztnek a TestUtilities használatával való megírásával vonatkozó utasításokért tekintse meg ezt a szakaszt a tesztek írásával.

Az infrastruktúrát már meglévő tesztekre az MRTK PlayModeTests (MRTK PlayModeTests) dokumentumában talál.

A Leap Motion 4.5.1 Unity-modulok támogatása

A Leap Motion Unity Modules 4.5.1-es verziójának támogatása és a 4.4.0-s eszközök támogatása megszűnt. A Motion Unity-modulok jelenleg támogatott verziói a 4.5.0-s és a 4.5.1-es verziók.

A kezdeti Motion-integrációhoz egy további lépés is rendelkezésre áll: How to Configure the Leap Motion Hand Tracking in MRTK (A Motion Motion Hand Tracking konfigurálása az MRTK-ban).

A Spatial Awareness Mesh-megfigyelő jobban kezeli az anyagok testreszabását

Ebben a kiadásban a és az összetevő javította a vizuális Windows Mixed Reality Spatial Mesh Observer anyagok Generic XR SDK Spatial Mesh Observer kezelését. Az anyagok akkor maradnak meg, ha a megfigyelő frissített egy hálót, ahol korábban visszaállították őket a profilban konfigurált alapértelmezett VisibleMaterial objektumra.

Ez lehetővé teszi a fejlesztők számára, hogy módosítják a háló anyagát, és a módosításokat ne felülírják váratlanul.

Link.xml a MixedRealityToolkit.Generated mappában jött létre

A Unity Package Manger MRTK bevezetésével az MRTK most egy fájlt ír a mappába, ha link.xmlAssets/MixedRealityToolkit.Generated nincs ilyen. Javasoljuk, hogy adja hozzá ezt a fájlt (és link.xml.meta ) a forráskezelőben. Link.xml a Unity-csatoló felügyelt kód-csíkozó funkcióját befolyásolja.

Az MRTK-link.xml az MRTK és a felügyelt kódelszippelő cikkben talál további információt.

Unity 2019.3+: Az MRTK konfigurációs párbeszédpanel már nem kísérli meg az örökölt XR-támogatás engedélyezését

A Unity XR Platformjának használata során a lehetséges ütközések elkerülése érdekében az örökölt XR-támogatás engedélyezésének lehetősége el lett távolítva az MRTK konfigurációs párbeszédpanelről. Szükség esetén az örökölt XR-támogatás engedélyezhető a Unity 2019-ben az EditProject GépházPlayerXR és aVirtual Reality Gépház használatával.

Az InitializeOnLoad többletterhelés csökkenése

Azért dolgozunk, hogy csökkentsük az InitializeOnLoad kezelőkben futó munka mennyiségét, ami a belső ciklusok fejlesztési sebességének javulását fogja eredményezni. Az InitializeOnLoad kezelők minden alkalommal futnak, amikor egy szkript le van fordítva, mielőtt a play módba lépne, valamint a szerkesztő indításkor is. Ezek a kezelők már sokkal kevesebb esetben futnak, ami a Unity általános válaszképességének javulását eredményezi.

Bizonyos esetekben meg kellett tenni a dolgot:

A határvezérlők fokozatosak

Kötések vezérlőelem

A kötött vezérlők nem kísérleti jellegűek, és számos új funkciót és rengeteg hibajavítást tartalmaznak. Megjelenik a frissítés legfontosabb eseményeinek listája:

  • A tulajdonságok konfigurációkra vannak felosztva, ami megkönnyíti a határvezérlő beállítását
  • A konfigurációk parancsfájlokkal megosztható objektumokon keresztül
  • minden tulajdonság /szkripthető tulajdonság futásidejű konfigurálható
  • A kötött vezérlőberendezés többé nem jön létre újra a tulajdonságváltozások esetén
  • fordítási leírók támogatása
  • teljes korlátozás támogatása a korlátozáskezelőn keresztül
  • elastics rendszerintegráció (kísérleti)

A régi határolókeret elavult, és a határolókeretet használó meglévő játékobjektumok frissíthetőek a migrálási eszközzel vagy a határolókeret vizsgálóval.

A Korlátozáskezelő összetevő

A korlátozásokat mostantól mind a, mind a határvezérlő, mind az objektumkezelő az új korlátozáskezelő összetevővel használhatja. Alapértelmezés szerint mindkét összetevő létrehoz egy korlátozáskezelőt, és automatikusan feldolgoz minden csatolt korlátozást.

Az automatikus viselkedési korlátozás kezelője emellett manuális módban is használható, amely lehetővé teszi a felhasználók számára, hogy eldöntsék, melyik korlátozást kell feldolgozni. Emiatt a tulajdonságvizsgálkban a korlátozások megjelenítése kissé megváltozott.

Vizsgáló nézet, amely a vezető manuális kiválasztását mutatja

Az összetevőre alkalmazott korlátozások mostantól listaként jelennek meg a korlátozáskezelő összetevőben, míg a korlátozáskezelőt használó összetevő (vagy a korlátozások vezérlője vagy az objektumkezelő) mostantól a kiválasztott korlátozáskezelőt és módot (automatikus vagy manuális) mutatja. További információért olvassa el a dokumentumok vezető korlátozásokkal kapcsolatos szakaszát.

HoloLens 2 gomb anyagának frissítése

Frissült HoloLens 2 gomb elülső anyaga, hogy eltávolítsa a fekete színt az MRC-ben.

HoloLens 2 gomb anyagának frissítése

Leírás panel frissítése, mozgatható jelenet

Frissített leírás panel. (SceneDescriptionPanelRev.prefab) Az új kialakítás egy megragadható felső sávot biztosít, amely lehetővé teszi a felhasználó számára a teljes jelenet beállítását és áthelyezését.

A Leírás panel frissítése

Térbeli háló vizualizációja – pulzus légi koppintáson

Frissült a térbeli háló pulzusárnyaló példája, hogy megfeleljen HoloLens 2. rendszerhéj viselkedésének.

Pulse on air-tap

Rugalmas rendszer (kísérleti)

Elastic System2

Az MRTK-hez most egy rugalmas szimulációs rendszer tartozik, amely számos különböző kiterjedhető és rugalmas alosztályt tartalmaz, és kötéseket kínál a négydimenziós quaternion-hez, a 3 dimenziós kötetek és az egyszerű lineáris spring-rendszerekhez.

Jelenleg a következő, a elastics managert támogató MRTK-összetevők kihasználják a rugalmas funkciókat:

Rugalmas menü kibontásaEgy rugalmaskávégép megragadása

Stick (kísérleti)

Példa astick illesztőre, amely nagy célobjektumok vezérlésére képes.

Joystick

Színválasztó (kísérleti)

Kísérleti vezérlő, amely megkönnyíti az anyagszínek futásidőben való változását bármely objektumon.

A színválasztó vezérlőelem három különböző metódusa

Négy különböző színválasztó-módszer

Kompatibilitástörő változások

Szerelvénydefiníciós fájlok módosításai

Egyes asmdef-fájlok módosultak, és jelenleg csak a Unity 2018.4.13f1 vagy újabb rendszereket támogatják. Fordítási hibák fognak látni, amikor a Unity korábbi verzióiban az MRTK 2.5-re frissít. Ez úgy javítható ki, hogy a gombra megjelenik a projektablakban, és eltávolítja a hiányzó hivatkozást Assets\MRTK\Providers\XRSDK\Microsoft.MixedReality.Toolkit.Providers.XRSDK.asmdef a vizsgálóból. Ismételje meg ezeket a lépéseket a és Assets\MRTK\Providers\Oculus\XRSDK\Microsoft.MixedReality.Toolkit.Providers.XRSDK.Oculus.asmdef a Assets\MRTK\Providers\WindowsMixedReality\XRSDK\Microsoft.MixedReality.Toolkit.Providers.XRSDK.WMR.asmdef jelekkel. Vegye figyelembe, hogy a Unity 2019-re való frissítéskor vissza kell változtatnia a módosításokat úgy, hogy lecseréli ezt a három asmdef-fájlt az eredeti (azaz nem módosított) fájlokra.

IMixedRealityPointerMediator

Ez az interfész úgy lett frissítve, hogy új függvényt használ:

void SetPointerPreferences(IPointerPreferences pointerPreferences);

Ha olyan egyéni mutatót közvetítője van, amely nem a DefaultPointerMediator alosztályba sorolja be, akkor ezt az új függvényt kell implementálnunk. A probléma okának további háttér-információkért tekintse meg ezt a problémát. Ez azért lett hozzáadva, hogy a mutató preferenciái explicit módon átkerüljenek a mediátorhoz ahelyett, hogy implicit módon, egy IPointerPreferences feltételt felválító konstruktor jelenléte alapján lenne megadva.

Rest/Eszközportál API

A UseSSL statikus tulajdonság át lett helyezték a ről a RestDevicePortal következőre: .

Ha korábban ezt tette...

Rest.UseSSL = true

Tegye meg most...

DevicePortal.UseSSL = true

Link.xml

Ha egy alkalmazás korábban az MRTK NuGet-disztribúcióját használja, a fájl el lett távolítva link.xml az alapcsomagból. A kódmegőrzési szabályok visszaállításához a projekt Unityben való megnyitásával létrehoz egy alapértelmezett fájlt a link.xmlAssets/MixedRealityToolkit.Generated fájlban. Javasoljuk, hogy ezt a fájlt (és link.xml.meta ) hozzáadja a forráskezelőhez.

A korlátozás módosításainak átalakítása

A TargetTransform tulajdonság elavultként lett megjelölve, mivel a megkötési rendszer nem használta. A megkötés logikája az Inicializálás és alkalmazás metódusnak átadott átalakításon alapul. Az erre a tulajdonságra támaszkodó származtatott felhasználói korlátozások gyorsítótárazhatnak a TargetTransformot a megvalósításuk során a korlátozott összetevő átalakításának tárolásával, hogy ugyanezt a viselkedést érjék el.

A tárolt kezdeti világbeli helyzet worldPoseOnManipulationStart adattípusa MixedRealityPose-ről MixedRealityTransformra változott, amely tartalmazza a manipulált objektum helyi skálázható értékét. Ezzel a módosítással már nem kell külön gyorsítótárazza a kezdeti skálázási értékeket.

Új tulajdonság az IMixedRealityDictationSystem rendszerében

Új tulajdonság AudioClip lett hozzáadva az IMixedRealityDictationSystem felülethez. A tulajdonság engedélyezi a hozzáférést az aktuális diktálás-munkamenethez AudioClip társított hangkliphez. A felhasználónak implementálja a tulajdonságot a felületet megvalósító szkriptben.

Szolgáltatáskádok leállnak

A 2.5-ös 2.5-ös szolgáltatás-épületek le vannak oltva. Ez a funkció eredetileg azért lett hozzáadva, hogy megkönnyítse az MRTK-profilok konfigurálást (az MRTK szolgáltatásainak mindegyikét ábrázoló hamis játékobjektumok létrehozásával). Hosszú távon szeretnénk elkerülni, hogy hamis játékobjektumokat hozzunk létre, és szinkronban tartsuk őket (mivel az adatszinkronizálási és "igazságforrási" problémákat nehéz skálázni és megfelelően elhozni).

A 2.5-ös verzióban a szolgáltatás-rendszer rendszer-rendszerkezelőket tart fenn a projektfrissítés zökkenőmentes biztosítása érdekében. A szolgáltatás-rendszer-rendszerkezelő törli a projektben meglévő összes felületét, így biztosítva, hogy a 2.5-ben megnyitott jelenetek automatikusan ki lesznek javítva.

A szolgáltatás-funkcióhoz társított fennmaradó kód egy későbbi kiadásban el lesz távolítva.

Mozgásvezérlő a bemeneti szimulációs szolgáltatáshoz adása

A mozgásvezérlő szimulációja mostantól szerkesztői módban is elérhető a meglévő kézszimuláció mellett. A módosítás engedélyezéséhez számos jelenlegi függvény,mező/tulajdonság elavultként van megjelölve a és a legfontosabb InputSimulationService.csMixedRealityInputSimulationProfile.cs módosításokkal. A releváns kód logikája és viselkedése nagyrészt változatlan marad, és az elavult függvények többsége ahhoz kapcsolódik, hogy lecseréli a "hand" (kéz) hivatkozását az általánosabb "vezérlő" kifejezésre (például a DefaultHandSimulationModeDefaultControllerSimulationMode helyett). Az új nevek beszerzése mellett bizonyos új függvények visszatérési típusa is frissül, hogy megfeleljen a név/viselkedés változásának (például az eredeti helyett a értéket adja GetControllerDeviceGetHandDeviceBaseControllerSimulatedHand vissza).

IInputSimulationService most már rendelkezik új tulajdonságokkal és MotionControllerDataLeftMotionControllerDataRight . MixedRealityInputSimulationProfile A mostantól új mezőket tartalmaz bizonyos mozgásvezérlő gombok billentyűzetleképezéséhez.

Ismert problémák

A CameraCache leállításkor új kamerát hozhat létre

Bizonyos helyzetekben (például ha a Unity-szerkesztőben a LeapMotion szolgáltatót használja), a CameraCache újra létrehozhatja a MainCamera-t leállításkor. További információért tekintse meg ezt a problémát.

FileNotFoundException, ha példákat importál a Unity-Csomagkezelő

A projekt elérési útjának hosszától függően a példák Unity Csomagkezelő importálása FileNotFoundException üzeneteket hozhat létre a Unity-konzolon. Ennek az az oka, hogy a "hiányzó" fájl elérési útja hosszabb, mint MAX_PATH (256 karakter). A probléma megoldásához rövidítse le a projekt elérési útjának hosszát.

Nem lett megadva spatializer. Az alkalmazás nem támogatja a Spatial Soundot

Ha nincs konfigurálva audio spatializer, "Nincs megadva spatializer" figyelmeztetés jelenik meg. Ez akkor fordulhat elő, ha nincs telepítve XR-csomag, mivel a Unity térbeliizereket tartalmaz ezekben a csomagokban.

A probléma megoldásához győződjön meg a következő problémákról:

  • AblakCsomagkezelő telepített egy vagy több XR-csomagot

  • Mixed Reality EszközkészletSegédprogramokA Unity Project és kiválasztása az Audio Spatializerhez

    Válassza az Audio Spatializer lehetőséget

NullReferenceException: Az objektumhivatkozás nincs beállítva egy objektumpéldányra (SceneTransitionService.Initialize)

Bizonyos esetekben a megnyitás EyeTrackingDemo-00-RootScene NullReferenceException értéket okozhat a SceneTransitionService osztály Initialize metódusában. Ezt a hibát az okozza, hogy a Scene Transition Service konfigurációs profilja nincs megszűkülve. A probléma megoldásához kövesse az alábbi lépéseket:

  • Navigáljon MixedRealityToolkit az objektumhoz a hierarchiában
  • Az Inspector ablakban válassza a Extensions
  • Ha nincs kibontva, bontsa ki Scene Transition Service
  • Állítsa a értékét Configuration ProfileConfiguration Profile

Jelenetátmenet kijavítva

Oculus-küldetés

Az Oculus XRbeépülő modullal való használatának ismert problémája jelenleg az önálló platformok esetén áll rendelkezésre. A frissítésekért tekintse meg az Oculus hibakövetőjét/fórumait/kibocsátási megjegyzéseit.

A hibát a következő 3 hibával lehet aláírni:

Oculus XR beépülő modulhiba

UnityUI és TextMeshPro

Ismert hiba történt a TextMeshPro újabb verzióiban (1.5.0+ vagy 2.1.1+), ahol a legördülő menük alapértelmezett betűmérete és a félkövér betűköz megváltozott.

TMP-rendszerkép

Ez a TextMeshPro korábbi verziójára való visszalépéssel elérhető. További részletekért lásd a 8556-os számú problémát.