Obslužná rutina manipulace

Obslužná rutina manipulace

Skript ManipulationHandler umožňuje, aby byl objekt vytvořen jako pohyblivý, škálovatelný a rotatable pomocí jedné nebo dvou rukou. Manipulaci lze omezit tak, aby umožňovala pouze určitý druh transformace. tento skript pracuje s různými typy vstupů, včetně HoloLens 2 kloubového vstupu, ručních paprsků, vstupu gesta HoloLens (1. generace) a vstupu do řídicího řadiče pro moderní sluchátka.

Používání obslužné rutiny manipulace

Přidejte ManipulationHandler komponentu skriptu do GameObject. Nezapomeňte také přidat kolidující objekt k objektu, který se shoduje s jeho přepoutavými mezemi.

Pokud chcete, aby objekt reagoval na blízko kloubového vstupu, přidejte NearInteractionGrabbable také skript.

Používání obslužné rutiny manipulace v editoru Unity

Vlastnosti inspektoru

Struktura obslužné rutiny manipulace

Transformace hostitele Transformace, která bude přetažena. Výchozím nastavením je objekt součásti.

Typ manipulace Určuje, zda lze objekt manipulovat pomocí jedné ruky, dvou rukou nebo obojího.

  • Jenom jedna ruka
  • Pouze dvě rukay
  • Jedna a dvě ruka

Typ dvou ruční manipulace

  • Scale: je povolené jenom škálování.
  • Otočit: je povolený jenom rotace.
  • Přesunutí stupnice: přesunutí a škálování je povolené.
  • Přesunout otočení: přesunutí a otočení je povoleno.
  • Otočit měřítko: otočení a škálování je povolené.
  • Přesunout otočení stupnice: přesunutí, otočení a škálování je povolené.

Obslužná rutina manipulace

Povolení mnohem manipulace Určuje, zda může být manipulace prováděna s ukazateli pomocí možnosti Far.

Jeden režim otáčení ruky poblíž Určuje způsob, jakým se bude objekt chovat, pokud je v blízkosti.

Jeden režim otáčení rukou daleko Určuje, jakým způsobem se bude objekt chovat, když se bude používat na jedné straně nebo řadiči na dálku.

Možnosti jednoho režimu otáčení rukou Určuje, jakým způsobem se bude objekt otáčet, když se vyřazuje s jednou rukou.

  • Zachovat původní otočení: při přesunu neotáčí objekt.
  • Zachovat otočení pro uživatele: zachová původní otočení objektu pro osu X/Y pro uživatele.
  • Gravitace zarovnaná udržovat otočení pro uživatele: zachová původní otočení objektu uživateli, ale objekt se vytvoří svisle. Užitečné pro objekty s ovládacím prvkem Bounds.
  • Obličejový uživatel: zajistí, že objekt vždy seplochí uživatele. Užitečné pro SLAT nebo na panely.
  • Tvář od uživatele: zajistí, že objekt vždy nezmizí od uživatele. Užitečné pro SLAT nebo panely, které jsou nakonfigurované zpět.
  • Otočení o objektovém centru: funguje jenom pro kloubové ručičky nebo řadiče. Otočení objektu pomocí rotace ručního nebo kontroleru, ale o bodu středu objektu. Užitečné pro kontrolu na dálku.
  • Otočení o bodpřidaných: funguje jenom pro kloubové ručičky nebo řadiče. Otočte objekt, jako by byl uložen ručním/kontrolérem. Užitečné pro kontrolu.

Chování verze Po uvolnění objektu určete jeho chování fyzického přesunu. Vyžaduje, aby součást kolidujícího objektu byla na tomto objektu.

  • Nothing
  • Převést
  • Zachovat rychlost
  • zachovat rychlost Angular

Omezení pro rotaci Určuje, na které ose se objekt otáčí při interakci.

  • Žádný
  • Pouze osa X
  • Pouze osa Y
  • Pouze na ose Z

Použít místní prostor pro omezení Přepínač pro přepínání mezi použitými omezeními v souvislosti se světovou osou nebo místní osou prostoru.

Omezení pro pohyb

  • Žádný
  • Opravit vzdálenost od hlav

Hladké aktivní Určuje, zda je aktivní vyhlazování.

Míra vyhlazení jedna ruka Množství vyhlazení, které se má použít pro přesun, škálování, otočení. Vyhlazení 0 znamená bez vyhlazení. Maximální hodnota znamená žádné změny hodnoty.

Události

Obslužná rutina manipulace poskytuje následující události:

  • OnManipulationStarted: aktivuje se při spuštění manipulace.
  • OnManipulationEnded: Vyvolá se při ukončení manipulace.
  • OnHoverStarted: aktivuje se, když ruka nebo kontrolor najede manipulaci, blízko i daleko.
  • OnHoverEnded: aktivuje se v případě, že ruční nebo řadič nejede na manipulaci, blízko nebo daleko.