Megosztás a következőn keresztül:


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.

Diagram rögzítése

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.

Visszajátszás diagram

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.