Delen via


Manipulatiehandler — MRTK2

Manipulatiehandler

Met het ManipulationHandler-script kan een object met één of twee handen beweegbaar, schaalbaar en draaibaar worden gemaakt. Manipulatie kan worden beperkt, zodat alleen bepaalde soorten transformaties worden toegestaan. Het script werkt met verschillende typen invoer, waaronder HoloLens 2 gearticuleerde handinvoer, handstralen, invoer van hololensbewegingen (1e generatie) en invoer van de bewegingscontroller voor immersive headsets.

De manipulatiehandler gebruiken

Voeg het ManipulationHandler scriptonderdeel toe aan een GameObject. Zorg ervoor dat u ook een collider aan het object toevoegt, die overeenkomt met de grijpbare grenzen.

Als u wilt dat het object reageert op bijna gearticuleerde handinvoer, voegt u het NearInteractionGrabbable script ook toe.

De manipulatiehandler gebruiken in de Unity-editor

Eigenschappen van inspector

Manipulatiehandlerstructuur

Hosttransformatie Transformatie die wordt gesleept. Standaard ingesteld op het object van het onderdeel.

Manipulatietype Hiermee geeft u op of het object kan worden bewerkt met één hand, twee handen of beide.

  • Slechts één hand
  • Alleen tweehandig
  • Een en tweehandig

Tweehandig manipulatietype

  • Schaal: alleen schalen is toegestaan.
  • Draaien: alleen draaien is toegestaan.
  • Schaal verplaatsen: verplaatsen en schalen is toegestaan.
  • Verplaatsen Draaien: Verplaatsen en draaien is toegestaan.
  • Schaal draaien: Roteren en schalen is toegestaan.
  • Schaal draaien verplaatsen: verplaatsen, draaien en schalen is toegestaan.

Manipulatiehandler

Manipulatie op afstand toestaan Hiermee geeft u op of manipulatie kan worden uitgevoerd met behulp van verre interactie met aanwijzers.

Draaimodus met één hand in de buurt Hiermee geeft u op hoe het object zich gedraagt wanneer het wordt gepakt met één hand/controller in de buurt.

Draaimodus met één hand ver Hiermee geeft u op hoe het object zich gedraagt wanneer het met één hand/controller op afstand wordt vastgepakt.

Opties voor draaimodus met één hand Hiermee geeft u op hoe het object wordt gedraaid wanneer het met één hand wordt gepakt.

  • Oorspronkelijke rotatie behouden: het object wordt niet gedraaid terwijl het wordt verplaatst
  • Rotatie behouden voor gebruiker: onderhoudt de oorspronkelijke rotatie van het object voor de X/Y-as voor de gebruiker
  • De zwaartekracht is afgestemd op de gebruiker: behoudt de oorspronkelijke rotatie van het object naar de gebruiker, maar maakt het object verticaal. Handig voor objecten met een besturingselement voor grenzen.
  • Face-gebruiker: zorgt ervoor dat het object de gebruiker altijd onder ogen ziet. Handig voor latten/panelen.
  • Gezicht weg van gebruiker: hiermee zorgt u ervoor dat objecten altijd weg zijn van de gebruiker. Handig voor latten/panelen die achterwaarts zijn geconfigureerd.
  • Draaien rond objectcentrum: werkt alleen voor gearticuleerde handen/controllers. Het object draaien met behulp van het draaien van de hand/controller, maar rond het middelpunt van het object. Handig voor inspectie op afstand.
  • Draaien rond het grijppunt: werkt alleen voor gearticuleerde handen/controllers. Het object draaien alsof het met de hand of controller wordt vastgehouden. Handig voor inspectie.

Releasegedrag Wanneer een object wordt vrijgegeven, geeft u het fysieke verplaatsingsgedrag op. Vereist dat er een rigidbody-component op dat object staat.

  • Niets
  • Alles
  • Snelheid behouden
  • Snelheid Angular behouden

Beperkingen voor rotatie Hiermee geeft u op op welke as het object wordt geroteerd wanneer er interactie is met.

  • Geen
  • Alleen X-as
  • Alleen Y-as
  • Alleen Z-as

Lokale ruimte gebruiken voor beperking Een wisselknop om te schakelen tussen het toepassen van beperkingen met betrekking tot de wereldas of de lokale ruimteas.

Bewegingsbeperkingen

  • Geen
  • Afstand tot hoofd herstellen

Vloeiend maken actief Hiermee geeft u op of vloeiend maken actief is.

Effenen hoeveelheid met één hand De mate van vloeiendheid die moet worden toegepast op de beweging, schaal, rotatie. Het afvlakken van 0 betekent geen afvlakking. Maximumwaarde betekent dat er geen waarde wordt gewijzigd.

gebeurtenis

Manipulatie-handler biedt de volgende gebeurtenissen:

  • OnManipulationStarted: Wordt geactiveerd wanneer manipulatie wordt gestart.
  • OnManipulationEnded: wordt geactiveerd wanneer de manipulatie eindigt.
  • OnHoverStarted: wordt geactiveerd wanneer een hand/controller de manipulatieerbare, bijna of ver weg beweegt.
  • OnHoverEnded: wordt geactiveerd wanneer een hand/controller de manipulatieerbare, bijna of ver weg beweegt.