Manipuleringshanterare

Manipuleringshanterare

Skriptet ManipulationHandler gör att ett objekt kan göras flyttbart, skalbart och roterbart med en eller två händer. Manipulering kan begränsas så att den endast tillåter vissa typer av transformering. Skriptet fungerar med olika typer av indata, inklusive HoloLens 2-ledad handinmatning, hand rays, HoloLens(1:a gen)-gesten och integrerande indata från headset-rörelsekontrollanten.

Så här använder du manipuleringshanteraren

Lägg till ManipulationHandler skriptkomponenten i ett GameObject. Se till att även lägga till en kollisionsman till objektet, som matchar dess grabbable-gränser.

Om du vill att objektet ska svara på nära tydligt handindata lägger du NearInteractionGrabbable även till skriptet.

Använda manipuleringshanteraren i Unity-redigeraren

Inspector-egenskaper

Manipulation Handler structure

Värdtransform Transformering som ska dras. Standardvärdet är komponentens objekt.

Manipulationstyp Anger om objektet kan ändras med en hand, två händer eller båda.

  • Endast en hand
  • Endast två handtnad
  • En och två handta

Tvåhandsmanipuleringstyp

  • Skala: Endast skalning tillåts.
  • Rotera: Endast rotation tillåts.
  • Flyttskala: Flytt och skalning tillåts.
  • Flytta rotera: Flytt och rotering tillåts.
  • Rotera skalning: Rotering och skalning tillåts.
  • Flytta rotationsskala: Flytt, rotering och skalning tillåts.

Manipulationshanterare

Tillåt långt manipulering Anger om manipulering kan göras med hjälp av långt interaktion med pekare.

Rotationsläge för en hand nära Anger hur objektet beter sig när det tas i tag med en hand/kontrollant nära.

Rotationsläge för en hand långt Anger hur objektet beter sig när det tas i tag med en hand/styrenhet på avstånd.

Alternativ för rotationsläge med en hand Anger hur objektet roteras när det tas tag med en hand.

  • Bevara ursprunglig rotation: Roterar inte objekt när det flyttas
  • Behåll rotationen till användaren: Bevarar objektets ursprungliga rotation för X/Y-axeln till användaren
  • Allvarlighetsjusterad upprätthåller rotationen för användaren: Underhåller objektets ursprungliga rotation till användaren, men gör objektet lodrätt. Användbart för objekt med en gränskontroll.
  • Ansiktsanvändare: Säkerställer att objektet alltid vänder sig mot användaren. Användbart för pekrutor/paneler.
  • Ansikte bort från användare: Säkerställer att objekt alltid står bort från användaren. Användbart för pekrutor/paneler som är konfigurerade bakåt.
  • Rotera om objektcenter: Fungerar endast för tydligt formulerade händer/styrenheter. Rotera objekt med hjälp av rotation av hand-/styrenheten, men om objektets mittpunkt. Användbart för att inspektera på avstånd.
  • Rotera ungefär en startpunkt: Fungerar endast för tydligt formulerade händer/styrenheter. Rotera objekt som om det höll för hand/kontrollant. Användbart för inspektion.

Lanseringsbeteende När ett objekt släpps anger du dess fysiska rörelsebeteende. Kräver att en komponent med en fast komponent finns på objektet.

  • Ingenting
  • Allt
  • Behåll hastighet
  • Håll Angular hastighet

Begränsningar för rotation Anger på vilken axel objektet ska roteras när det interagerar med.

  • Ingen
  • Endast X-axel
  • Endast Y-axel
  • Endast Z-axel

Använda lokalt utrymme för begränsning En växlingsknapp för att växla mellan att tillämpa begränsningar för axeln i world-space eller den lokala utrymmesaxeln.

Begränsningar för förflyttning

  • Ingen
  • Åtgärda avståndet från huvudet

Smoothing Active Anger om utjämning är aktiv.

Utjämningsbelopp en hand Mängden utjämning som ska tillämpas på förflyttning, skala och rotation. Utjämning av 0 innebär ingen utjämning. Maxvärde innebär att inget värde ändras.

Händelser

Manipulationshanteraren innehåller följande händelser:

  • OnManipulationStarted: Utades när manipuleringen startar.
  • OnManipulationEnded: Avslutas när manipuleringen upphör.
  • OnHoverStarted: Startar när en hand/kontrollant hovrar över den manipulerbara, nära eller långt.
  • OnHoverEnded: Brand när en hand-/styrenhet tar bort hovring över den manipulerbara, nära eller långt.