Nagrywanie animacji wejściowej — MRTK2
Funkcja MRTK zawiera system nagrywania, za pomocą którego można przechowywać dane przenoszenia głowy i śledzenia rąk w plikach animacji. Zarejestrowane dane można następnie odtworzyć przy użyciu systemu symulacji wejściowej.
Rejestrowanie danych wejściowych to przydatne narzędzie w różnych sytuacjach:
- Tworzenie zautomatyzowanych testów interakcji, manipulacji, rozwiązań itp. Tworzenie ruchu kontrolerów i rąk dla tych testów może być czasochłonne. Bezpośrednie rejestrowanie danych wejściowych może przyspieszyć proces i zapewnić rzeczywiste dane.
- Nauczanie używania elementów środowiska użytkownika za pomocą animacji. Pokazano użytkownikom, jak korzystać z przycisków i innych obiektów, mogą wygładzyć krzywą uczenia.
- Debugowanie nieoczekiwanego zachowania, które może wystąpić podczas regularnego używania. System nagrywania obsługuje koncepcję "buforu kroczącego", która umożliwia rejestrowanie ostatnich danych wejściowych w tle. Zobacz Usługa nagrywania danych wejściowych.
Usługi nagrywania i odtwarzania
Dwa usługi systemu wejściowego są udostępniane odpowiednio do rejestrowania i odtwarzania danych wejściowych.
Usługa rejestrowania danych wejściowych
InputRecordingService
pobiera dane z głównego przekształcenia aparatu i aktywnych kontrolerów ręcznych i przechowuje je w buforze wewnętrznym. Gdy zażądano tych danych, zostaną zserializowane do plików binarnych na potrzeby przechowywania i późniejszego odtwarzania.

Aby rozpocząć nagrywanie danych wejściowych, wywołaj StartRecording
funkcję .
StopRecording
wstrzymuje nagrywanie (ale nie odrzuca danych zarejestrowanych do tej pory, użyj DiscardRecordedInput
polecenia , aby to zrobić w razie potrzeby).
Domyślnie rozmiar buforu nagrywania jest ograniczony do 30 sekund. Dzięki temu usługa nagrywania może zachować nagrywanie w tle bez gromadzenia zbyt dużej ilości danych, a następnie zapisać ostatnie 30 sekund, gdy jest to wymagane. Interwał czasu można zmienić przy użyciu RecordingBufferTimeLimit
właściwości lub nagrywanie może być nieograniczone przy użyciu UseBufferTimeLimit
opcji .
Dane w buforze nagrywania można zapisać w pliku binarnym przy użyciu funkcji SaveInputAnimation .
Aby uzyskać szczegółowe informacje na temat formatu pliku binarnego, zobacz Input Animation File Format Specification (Specyfikacja formatu pliku animacji wejściowej).
Usługa odtwarzania wejściowego
InputPlaybackService
odczytuje plik binarny z danymi animacji wejściowej, a następnie stosuje te dane za pośrednictwem usługi InputSimulationService , aby odtworzyć zarejestrowane ruchy.

Aby rozpocząć odtwarzanie animacji wejściowej, należy załadować ją z pliku przy użyciu funkcji LoadInputAnimation .
Wywołaj odtwarzanie, wstrzymaj lub zatrzymaj , aby kontrolować odtwarzanie animacji.
Bieżący czas animacji można również kontrolować bezpośrednio za pomocą właściwości LocalTime .
Ostrzeżenie
Sprzężenie lub zresetowanie animacji wejściowej lub ustawienie LocalTime
bezpośrednio przez szorowanie osi czasu może spowodować nieoczekiwane wyniki podczas manipulowania sceną! Rejestrowane są tylko ruchy wejściowe, wszelkie dodatkowe zmiany, takie jak przenoszenie obiektów lub przełączników przerzucania, nie zostaną zresetowane. Pamiętaj, aby ponownie załadować scenę, jeśli wprowadzono nieodwracalne zmiany.
Narzędzia edytora do nagrywania i odtwarzania animacji danych wejściowych
W edytorze aparatu Unity istnieje wiele narzędzi do rejestrowania i badania animacji wejściowej. Dostęp do tych narzędzi można uzyskać w oknie narzędzi symulacji wejściowych, które można otworzyć z menu Mixed Reality Toolkit > Utilities > Input Simulation.
Uwaga
Nagrywanie danych wejściowych i odtwarzanie działa tylko w trybie odtwarzania.
Okno nagrywania danych wejściowych ma dwa tryby:
Nagrywanie danych wejściowych podczas nagrywania w trybie odtwarzania i zapisywanie go w plikach animacji.
Po włączeniu przycisku
InputRecordingService
nagrywania włączono rejestrowanie danych wejściowych. Po przełączeniu przycisku nagrywania jest wyświetlany wybór zapisywania pliku, a zarejestrowana animacja wejściowa jest zapisywana w wybranym miejscu docelowym.Limit czasu buforu można również zmienić w tym trybie.
Odtwarzanie ładowania plików animacji, a następnie ponowne tworzenie danych wejściowych za pośrednictwem systemu symulacji wejściowej.
Najpierw należy załadować animację w tym trybie. Po zapisaniu danych wejściowych w trybie nagrywania wynikowa animacja zostanie automatycznie załadowana. Możesz też kliknąć przycisk "Załaduj", aby wybrać istniejący plik animacji.
Przyciski kontrolki czasu od lewej do prawej to:
- Zresetuj czas odtwarzania na początek animacji.
- Odtwarzaj animację stale w czasie.
- Krok naprzód po jednym kroku.
Suwak może również służyć do czyszczenia osi czasu animacji.
Ostrzeżenie
Sprzężenie lub zresetowanie animacji wejściowej lub szorowanie osi czasu może spowodować nieoczekiwane wyniki podczas manipulowania sceną! Rejestrowane są tylko ruchy wejściowe, wszelkie dodatkowe zmiany, takie jak przenoszenie obiektów lub przełączników przerzucania, nie zostaną zresetowane. Pamiętaj, aby ponownie załadować scenę, jeśli wprowadzono nieodwracalne zmiany.