Animatie-opname van invoer

MRTK bevat een opnamesysteem waarmee hoofdbewegingen en handtrackinggegevens kunnen worden opgeslagen in animatiebestanden. De vastgelegde gegevens kunnen vervolgens worden afgespeeld met behulp van het invoersimulatiesysteem.

Het vastleggen van invoer is een handig hulpmiddel in verschillende situaties:

  • Het maken van geautomatiseerde tests voor interactie, manipulaties, oplossers, enzovoort. Het kan veel tijd kosten om controllers en handen te verplaatsen voor deze tests. Door invoer rechtstreeks op te nemen, kan het proces worden versnellen en kunnen echte gegevens worden verstrekt.
  • Het gebruik van UX-elementen leren door middel van animaties. Door gebruikers te laten zien hoe ze met knoppen en andere objecten kunnen werken, kan de leercurve vloeiender worden.
  • Debugging van onverwacht gedrag dat kan worden aangetroffen tijdens normaal gebruik. Het opnamesysteem ondersteunt een 'rolling buffer'-concept waarmee recente invoer op de achtergrond kan worden opgenomen. Zie Input Recording Service.

Opname- en afspeelservices

Er zijn twee invoersysteemservices beschikbaar voor respectievelijk het opnemen en afspelen van invoer.

Invoeropnameservice

InputRecordingService neemt gegevens van de hoofdcameratransformator en actieve handcontrollers en slaat deze op in een interne buffer. Wanneer dit wordt aangevraagd, worden deze gegevens geseraliseerd naar binaire bestanden voor opslag en latere herhaling.

Recording diagram

Als u invoer wilt opnemen, roept u de functie StartRecording aan. StopRecording wordt de opname onderbroken (maar verwijder de gegevens die tot nu toe zijn vastgelegd niet, gebruik om DiscardRecordedInput dit te doen indien nodig).

De grootte van de opnamebuffer is standaard beperkt tot 30 seconden. Hierdoor kan de opnameservice op de achtergrond blijven opnemen zonder te veel gegevens te verzamelen en de laatste 30 seconden opslaan wanneer dat nodig is. Het tijdsinterval kan worden gewijzigd met behulp van de eigenschap of de opname RecordingBufferTimeLimit kan onbeperkt zijn met behulp van de optie UseBufferTimeLimit .

De gegevens in de opnamebuffer kunnen worden opgeslagen in een binair bestand met behulp van de functie SaveInputAnimation.

Zie Specificatie van bestandsindeling voor invoer animatie voor meer informatie over de binaire bestandsindeling.

Service voor het afspelen van invoer

InputPlaybackService leest een binair bestand met invoer animatiegegevens en past deze gegevens vervolgens toe via de InputSimulationService om de vastgelegde verplaatsingen opnieuw te maken.

Play Back diagram

Als u invoer animatie wilt afspelen, moet deze worden geladen vanuit een bestand met behulp van de functie LoadInputAnimation.

Roep Afspelen, Onderbrekenof Stoppen aan om het afspelen van animaties te regelen.

De huidige animatietijd kan ook rechtstreeks worden beheerd met de eigenschap LocalTime.

Waarschuwing

Het herhalen of opnieuw instellen van de invoer animatie of het rechtstreeks instellen door de tijdlijn te verwijderen, kan onverwachte resultaten opleveren bij LocalTime het bewerken van de scène. Alleen de invoerbewegingen worden vastgelegd. Eventuele aanvullende wijzigingen, zoals het verplaatsen van objecten of het spiegelen van switches, worden niet opnieuw ingesteld. Laad de scène opnieuw als er onherstelbare wijzigingen zijn aangebracht.

Editor-hulpprogramma's voor het opnemen en afspelen van invoer animatie

Er bestaat een aantal hulpprogramma's in de Unity-editor voor het opnemen en onderzoeken van invoer animaties. Deze hulpprogramma's zijn toegankelijk in het venster hulpprogramma's voor invoersimulatie, dat kan worden geopend vanuit het menu Hulpprogramma's Mixed Reality Toolkit > invoersimulatie > invoersimulatie.

Notitie

Het opnemen en afspelen van invoer werkt alleen tijdens de afspeelmodus.

Het venster voor invoeropname heeft twee modi:

  • Opnemen voor het opnemen van invoer tijdens het afspelen en opslaan in animatiebestanden.

    Bij het inschakelen van de opnameknop InputRecordingService wordt de ingeschakeld om invoer vast te stellen. Bij het uitschakelen van de opnameknop wordt een selectie voor het opslaan van bestanden weergegeven en wordt de vastgelegde invoer animatie opgeslagen op de geselecteerde bestemming.

    De tijdslimiet voor de buffer kan ook worden gewijzigd in deze modus.

  • Afspelen voor het laden van animatiebestanden en vervolgens het opnieuw maken van invoer via het invoersimulatiesysteem.

    In deze modus moet eerst een animatie worden geladen. Na het opnemen van invoer in de opnamemodus wordt de resulterende animatie automatisch geladen. U kunt ook op de knop Laden klikken om een bestaand animatiebestand te selecteren.

    De besturingselementknoppen voor tijd van links naar rechts zijn:

    • Stel de afspeeltijd opnieuw in op het begin van de animatie.
    • Animatie continu afspelen in de tijd.
    • Stap één keer vooruit.

    De schuifregelaar kan ook worden gebruikt om de animatietijdlijn te verwijderen.

Waarschuwing

Het herhalen of opnieuw instellen van de invoer animatie of het opspoken van de tijdlijn kan onverwachte resultaten opleveren bij het bewerken van de scène. Alleen de invoerbewegingen worden vastgelegd. Eventuele aanvullende wijzigingen, zoals het verplaatsen van objecten of het spiegelen van switches, worden niet opnieuw ingesteld. Laad de scène opnieuw als er onherstelbare wijzigingen zijn aangebracht.