Handler voor manipulatie

Handler voor manipulatie

Met het ManipulationHandler-script kan een object beweegbaar, schaalbaar en roteerbaar worden gemaakt met behulp van een of twee handen. Manipulatie kan worden beperkt zodat alleen bepaalde soorten transformatie mogelijk zijn. Het script werkt met verschillende soorten invoer, waaronder HoloLens 2 verwoorde handinvoer, handfoto's, HoloLens (1e generatie) bewegingsinvoer en immersive headset bewegingscontrollerinvoer.

De manipulatie-handler gebruiken

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

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

De handler voor manipulatie gebruiken in de Unity-editor

Eigenschappen van Inspector

Manipulation Handler structure

Hosttransformator Transformatie die wordt gesleept. Wordt 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 twee handen
  • Eén en twee handen

Tweehandig bewerkingstype

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

Manipulatie-handler

Ver bewerken toestaan Hiermee geeft u op of manipulatie kan worden uitgevoerd met behulp van veel interactie met aanwijzers.

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

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

Opties voor de modus One Hand Rotation Hiermee geeft u op hoe het object wordt gedraaid wanneer het met één hand wordt vastgegrepen.

  • Oorspronkelijke rotatie behouden: het object wordt niet gedraaid terwijl het wordt verplaatst
  • Rotatie onderhouden voor gebruiker: onderhoudt de oorspronkelijke rotatie van het object voor de X/Y-as voor de gebruiker
  • Op de hoogte gebrachte rotatie onderhouden voor gebruiker: onderhoudt de oorspronkelijke rotatie van het object voor de gebruiker, maar maakt het object verticaal. Handig voor objecten met een besturingselement voor grenzen.
  • Face-gebruiker: zorgt ervoor dat het object altijd gezichten van de gebruiker heeft. Handig voor slates/panels.
  • Gezicht weg van gebruiker: zorgt ervoor dat het object altijd gezichten van de gebruiker weg heeft. Handig voor slates/panels die achterwaarts zijn geconfigureerd.
  • Draaien over objectcentrum: werkt alleen voor verwoorde handen/controllers. Draai het object met behulp van draaiing van de hand/controller, maar over het middelpunt van het object. Handig voor inspectie op afstand.
  • Draaien om een vast punt: werkt alleen voor verwoorde handen/controllers. Draai het object alsof het werd vastgehouden door de hand/controller. Handig voor inspectie.

Releasegedrag Wanneer een object wordt vrijgegeven, geeft u het gedrag van de fysieke verplaatsing op. Vereist dat er een starbody-onderdeel op dat object staat.

  • Niets
  • Alles
  • Snelheid behouden
  • Snelheid Angular houden

Beperkingen voor roulatie Hiermee geeft u op op welke as het object wordt geroteerd wanneer er interactie mee wordt gemaakt.

  • 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 wereldruimteas of de lokale ruimteas.

Beperkingen voor verplaatsing

  • Geen
  • Afstand tot hoofd herstellen

Smoothing Active Hiermee geeft u op of smoothing actief is.

Hoeveelheid één hand vloeiend maken De mate van afschaling die moet worden toegepast op de verplaatsing, schaal en rotatie. Het vloeiend maken van 0 betekent geen vloeiendheid. Maximumwaarde betekent geen wijziging in waarde.

Gebeurtenissen

Manipulatie-handler biedt de volgende gebeurtenissen:

  • OnManipulationStarted: wordt gestart wanneer de manipulatie wordt gestart.
  • OnManipulationEnded: wordt in gebruik genomen wanneer de bewerking wordt beëindigd.
  • OnHoverStarted: wordt gestart wanneer een hand/controller aan de muisaanwijzer beweegt, bijna of ver.
  • OnHoverEnded: wordt gebruikt wanneer een hand/controller de muisaanwijzer op de te bewerken, bijna of ver weg beweegt.