Share via


Opname van invoeranimatie — MRTK2

MRTK beschikt over een opnamesysteem waarmee hoofdbewegingen en handtraceringsgegevens kunnen worden opgeslagen in animatiebestanden. De opgenomen gegevens kunnen vervolgens worden afgespeeld met behulp van het invoersimulatiesysteem.

Opname-invoer is een handig hulpmiddel in verschillende situaties:

  • Geautomatiseerde tests maken voor interactie, manipulaties, oplossers, enzovoort. Het maken van de beweging van controllers en handen voor deze tests kan tijdrovend zijn. Rechtstreeks opnemen van invoer kan het proces versnellen en echte gegevens leveren.
  • Het gebruik van UX-elementen leren door middel van animaties. Gebruikers laten zien hoe ze met knoppen en andere objecten kunnen werken, kunnen de leercurve vloeiender maken.
  • Foutopsporing onverwacht gedrag dat kan optreden tijdens normaal gebruik. Het opnamesysteem ondersteunt een 'rolling buffer'-concept waarmee recente invoer op de achtergrond kan worden opgenomen. Zie Invoeropnameservice.

Opname- en afspeelservices

Er worden twee invoersysteemservices geleverd om respectievelijk invoer op te nemen en af te spelen.

Invoeropnameservice

InputRecordingService neemt gegevens van de hoofdcameratransformatie en actieve handcontrollers en slaat deze op in een interne buffer. Wanneer dit wordt aangevraagd, worden deze gegevens vervolgens geserialiseerd in binaire bestanden voor opslag en later opnieuw afspelen.

Opnamediagram

Roep de StartRecording functie aan om de opname-invoer te starten. StopRecording onderbreekt de opname (maar negeert de gegevens die tot nu toe zijn vastgelegd niet, gebruik DiscardRecordedInput dit indien nodig om dit te doen).

Standaard is de grootte van de opnamebuffer 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 RecordingBufferTimeLimit eigenschap of de opname kan onbeperkt zijn met behulp van de UseBufferTimeLimit optie.

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

Zie Specificatie van invoeranimatiebestandsindeling voor meer informatie over de binaire bestandsindeling.

Invoerweergaveservice

InputPlaybackService leest een binair bestand met invoeranimatiegegevens en past deze gegevens vervolgens toe via de InputSimulationService om de opgenomen bewegingen opnieuw te maken.

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

Roep Afspelen, Onderbreken of 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 invoeranimatie of -instelling LocalTime rechtstreeks door de tijdlijn te wissen, kan onverwachte resultaten opleveren bij het bewerken van de scène! Alleen de invoerbewegingen worden vastgelegd, eventuele aanvullende wijzigingen, zoals bewegende objecten of schakelopties, worden niet opnieuw ingesteld. Zorg ervoor dat u de scène opnieuw laadt als er onomkeerbare wijzigingen zijn aangebracht.

Editorhulpprogramma's voor het opnemen en afspelen van invoeranimatie

De Unity-editor bevat een aantal hulpprogramma's voor het opnemen en onderzoeken van invoeranimaties. Deze hulpprogramma's zijn toegankelijk in het venster met invoersimulatiehulpprogramma's, dat kan worden geopend vanuit het menu Mixed Reality > Invoersimulatie van toolkithulpprogramma's>.

Notitie

Invoer opnemen en afspelen werkt alleen tijdens de afspeelmodus.

Het opnamevenster voor invoer heeft twee modi:

  • Opnemen voor opname-invoer tijdens de afspeelmodus en opslaan in animatiebestanden.

    Bij het in-/uitschakelen van de opnameknop is ingeschakeld InputRecordingService om invoer op te nemen. Wanneer u de opnameknop uitschakelt, wordt een selectie voor het opslaan van bestanden weergegeven en wordt de opgenomen invoeranimatie opgeslagen op de geselecteerde bestemming.

    De buffertijdslimiet kan ook worden gewijzigd in deze modus.

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

    Een animatie moet eerst in deze modus 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 tijdbesturingsknoppen van links naar rechts zijn:

    • Stel de afspeeltijd terug naar het begin van de animatie.
    • Animatie continu afspelen in de loop van de tijd.
    • Stap één keer vooruit.

    De schuifregelaar kan ook worden gebruikt om door de animatietijdlijn te schuiven.

Waarschuwing

Het herhalen of opnieuw instellen van invoeranimatie of het wissen van de tijdlijn kan onverwachte resultaten opleveren bij het bewerken van de scène. Alleen de invoerbewegingen worden vastgelegd, eventuele aanvullende wijzigingen, zoals bewegende objecten of schakelopties, worden niet opnieuw ingesteld. Zorg ervoor dat u de scène opnieuw laadt als er onomkeerbare wijzigingen zijn aangebracht.