Bemeneti animáció rögzítése – MRTK2
Az MRTK egy rögzítőrendszert tartalmaz, amellyel a fejmozgatási és kézkövetési adatok animációs fájlokban tárolhatók. A rögzített adatok ezután visszajátszhatók a bemeneti szimulációs rendszer használatával.
A bemenet rögzítése számos helyzetben hasznos eszköz:
- Automatizált tesztek létrehozása interakciókhoz, manipulációkhoz, solverekhez stb. A kontrollerek és a kezek mozgásának létrehozása ezen tesztekhez időigényes lehet. A bemenetek közvetlen rögzítése felgyorsíthatja a folyamatot, és valós adatokat biztosíthat.
- Az UX-elemek használatának tanítása animációkon keresztül. A felhasználók gombokkal és más objektumokkal való interakciójának bemutatása simíthatja a tanulási görbét.
- A rendszeres használat során előforduló váratlan viselkedés hibakeresése. A rögzítőrendszer támogatja a "gördülő puffer" fogalmát, amely lehetővé teszi a legutóbbi bemenetek rögzítését a háttérben. Lásd: Bemeneti rögzítési szolgáltatás.
Rögzítési és lejátszási szolgáltatások
Két bemeneti rendszerszolgáltatást biztosítunk a bemeneti adatok rögzítéséhez és lejátszásához.
Bemeneti rögzítési szolgáltatás
InputRecordingService
adatokat vesz fel a fő kamera transzformációjából és az aktív kézi vezérlőkből, és belső pufferben tárolja azokat. Kérés esetén ezeket az adatokat bináris fájlokká szerializálja a tárterülethez, majd később visszajátssza.

A bemeneti adatok felvételének megkezdéséhez hívja meg a függvényt StartRecording
.
StopRecording
szünetelteti a rögzítést (de nem veti el az eddig rögzített adatokat, DiscardRecordedInput
szükség esetén használja ezt a műveletet).
Alapértelmezés szerint a rögzítési puffer mérete legfeljebb 30 másodperc. Ez lehetővé teszi, hogy a rögzítési szolgáltatás a háttérben tárolja a felvételt anélkül, hogy túl sok adatot gyűjtenek össze, majd szükség esetén mentheti az elmúlt 30 másodpercet. Az időintervallum módosítható a RecordingBufferTimeLimit
tulajdonság használatával, vagy a rögzítés korlátlan lehet a UseBufferTimeLimit
lehetőséggel.
A rögzítési pufferben lévő adatok bináris fájlba menthetők a SaveInputAnimation függvénnyel.
A bináris fájlformátummal kapcsolatos részletekért lásd: Bemeneti animációs fájlformátum specifikációja.
Bemeneti lejátszási szolgáltatás
InputPlaybackService
Beolvassa a bemeneti animációs adatokat tartalmazó bináris fájlt, majd ezeket az adatokat az InputSimulationService szolgáltatáson keresztül alkalmazza a rögzített mozgások újbóli létrehozásához.

A bemeneti animáció lejátszásának megkezdéséhez be kell tölteni egy fájlból a LoadInputAnimation függvénnyel.
Az animáció lejátszásának vezérléséhez hívja meg a Lejátszás, a Szüneteltetés vagy a Leállítás parancsot.
Az aktuális animációs idő közvetlenül a LocalTime tulajdonsággal is vezérelhető.
Figyelmeztetés
A bemeneti animációk vagy a közvetlen beállítás LocalTime
hurkolása vagy visszaállítása az idővonal megtisztításával váratlan eredményeket eredményezhet a jelenet módosításakor! Csak a bemeneti mozgások lesznek rögzítve, az olyan további módosítások, mint az objektumok áthelyezése vagy a kapcsolók tükrözése, nem lesznek visszaállítva. Ügyeljen arra, hogy újra betöltse a jelenetet, ha visszafordíthatatlan módosítások történtek.
Szerkesztőeszközök beviteli animáció rögzítéséhez és lejátszásához
A Unity-szerkesztőben számos eszköz található a bemeneti animációk rögzítéséhez és vizsgálatához. Ezek az eszközök a bemeneti szimulációs eszközök ablakában érhetők el, amely a Mixed Reality Toolkit > Utilities > bemeneti szimuláció menüjéből nyitható meg.
Megjegyzés
A bemeneti felvétel és a lejátszás csak lejátszási módban működik.
A bemeneti felvétel ablakának két módja van:
Rögzítés a bemenet lejátszás közbeni rögzítéséhez és animációs fájlokba való mentéséhez.
A felvétel gombon való összesítéskor az
InputRecordingService
engedélyezve van a bemenet rögzítésére. Amikor kikapcsolja a felvétel gombot, megjelenik egy fájlmentési kijelölés, és a rögzített beviteli animáció a kijelölt célhelyre lesz mentve.A pufferidőkorlát ebben a módban is módosítható.
Lejátszás animációs fájlok betöltéséhez, majd a bemenetnek a bemeneti szimulációs rendszeren keresztül történő újrabetöltéséhez.
Először ebben a módban kell betölteni egy animációt. Miután felvételkészítési módban rögzítette a bemenetet, a rendszer automatikusan betölti az eredményként kapott animációt. Másik lehetőségként kattintson a "Betöltés" gombra egy meglévő animációs fájl kiválasztásához.
Az idővezérlő gombok balról jobbra a következők:
- Állítsa vissza a lejátszási időt az animáció elejére.
- Az animáció lejátszása folyamatosan az idő múlásával.
- Lépés előre egy alkalommal lépésben.
A csúszka az animációs idővonal átmosására is használható.
Figyelmeztetés
A bemeneti animációk hurkolása vagy alaphelyzetbe állítása vagy az idővonal tisztítása váratlan eredményeket eredményezhet a jelenet módosításakor! Csak a bemeneti mozgások lesznek rögzítve, az olyan további módosítások, mint az objektumok áthelyezése vagy a kapcsolók tükrözése, nem lesznek visszaállítva. Ügyeljen arra, hogy újra betöltse a jelenetet, ha visszafordíthatatlan módosítások történtek.