Obslužná rutina manipulace – MRTK2

Manipulation handler

Skript ManipulatHandler umožňuje, aby objekt byl pohyblivý, škálovatelný a otočitelný pomocí jedné nebo dvou rukou. Manipulace může být omezena tak, aby umožňovala pouze určité druhy transformace. Skript funguje s různými typy vstupů, včetně HoloLens 2 artikulovaného ručního vstupu, ručních paprsků, vstupu gest HoloLens (1. generace) a vstupu imerzivního ovladače pohybu náhlavní soupravy.

Použití obslužné rutiny manipulace

Přidejte komponentu ManipulationHandler skriptu do objektu GameObject. Nezapomeňte také do objektu přidat kolizník, který odpovídá jeho uchopitelným hranicím.

Pokud chcete, aby objekt reagoval na téměř artikulovaný vstup rukou NearInteractionGrabbable , přidejte také skript.

Using the manipulation handler in the unity editor

Vlastnosti inspektoru

Manipulation Handler structure

Transformace hostitele Transformace, která bude přetažena. Výchozí hodnota je objekt komponenty.

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

  • Pouze jedna rukou
  • Pouze dvě ruky
  • Jedna a dvě ruky

Typ manipulace se dvěma rukama

  • Škálování: Je povoleno pouze škálování.
  • Otočení: Je povolená pouze rotace.
  • Přesunout měřítko: Přesunutí a škálování je povolené.
  • Otočení přesunutí: Přesunutí a otáčení je povoleno.
  • Otočit měřítko: Otočení a škálování je povolené.
  • Měřítko otočení přesunutí: Přesunutí, otočení a škálování je povolené.

Manipulation Handler

Povolit dalekou manipulaci Určuje, jestli lze manipulaci provést pomocí daleko interakce s ukazateli.

Režim otáčení jedné ruky poblíž Určuje, jak se bude objekt chovat, když je uchopován jednou rukou nebo ovladačem poblíž.

Režim otáčení jedné ruky daleko Určuje, jak se bude objekt chovat, když se vezme rukou nebo kontrolerem ve vzdálenosti.

Možnosti režimu otočení jedné ruky Určuje, jak se objekt bude otáčet, když se chytá jednou rukou.

  • Zachovat původní otočení: Při přesouvání objektu se objekt nestřídá.
  • Zachování otočení pro uživatele: Udržuje původní otočení objektu pro osu X/Y pro uživatele.
  • Závažnost zarovnaná k uživateli: Udržuje původní otočení objektu pro uživatele, ale objekt je svislý. Užitečné pro objekty s ovládacím prvku ohraničení.
  • Uživatel tváře: Zajišťuje, aby objekt vždy čelí uživateli. Užitečné pro slates/panely.
  • Rozpoznávání tváře od uživatele: Zajišťuje, aby objekt byl vždy mimo uživatele. Užitečné pro slates/panely, které jsou nakonfigurované zpětně.
  • Otočit o střed objektů: Funguje pouze pro kloubové ruce/kontrolery. Otočte objekt pomocí otočení ruky/kontroleru, ale o střed objektu. Užitečné pro kontrolu na dálku.
  • Otočit o bod uchopování: Funguje pouze pro kloubové ruce/ovladače. Otočte objekt tak, jako by byl držen rukou nebo kontrolerem. Užitečné pro kontrolu.

Chování vydané verze Při uvolnění objektu určete jeho fyzické pohybové chování. Vyžaduje, aby na daném objektu byla pevná komponenta s kýmkoli.

  • Nothing
  • Všechno
  • Udržování rychlosti
  • Udržování rychlosti Angular

Omezení rotace Určuje, na které ose se objekt při interakci otočí.

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

Použití místního prostoru pro omezení Přepínač pro přepínání mezi použitím omezení pro světovou osu nebo místní osu prostoru.

Omezení pohybu

  • Žádný
  • Oprava vzdálenosti od hlavy

Vyhlazování aktivní Určuje, jestli je vyhlazení aktivní.

Vyhlazování množství jedné ruky Množství vyhlazování, které se použije na pohyb, měřítko, otočení. Vyhlazování 0 znamená bez vyhlazování. Maximální hodnota znamená, že se hodnota nezmění.

událost

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

  • OnManipulationStarted: Aktivováno při spuštění manipulace.
  • OnManipulationEnded: Aktivuje se, když manipulace skončí.
  • OnHoverStarted: Aktivuje se, když ruka / kontroler najetí manipulovatelný, blízko nebo daleko.
  • OnHoverEnded: Aktivuje se, když ruka / kontroler nechytá manipulovatelné, blízko nebo daleko.