操作處理常式 - MRTK2

操作處理常式

ManipulationHandler腳本允許使用一或兩手讓物件成為可移動、可調整且可旋轉的物件。 操作可以受到限制,使其只允許特定種類的轉換。 腳本適用于各種類型的輸入,包括HoloLens 2表達的手部輸入、手部光線、HoloLens (第 1 代) 手勢輸入,以及沉浸式頭戴式裝置動作控制器輸入。

如何使用操作處理常式

ManipulationHandler 腳本元件新增至 GameObject。 請務必同時將碰撞器新增至 物件,使其可抓取界限相符。

若要讓物件回應接近表達的手部輸入,請同時新增 NearInteractionGrabbable 腳本。

在 Unity 編輯器中使用操作處理常式

Inspector 屬性

操作處理常式結構

主機轉換 將拖曳的轉換。 預設為元件的 物件。

操作類型 指定是否可以使用一手、兩手或兩手操作物件。

  • 僅一手
  • 僅限雙手
  • 一手兩手

雙手操作類型

  • 縮放比例:只允許調整。
  • 旋轉:只允許旋轉。
  • 移動縮放比例:允許移動和調整。
  • 移動旋轉:允許移動和旋轉。
  • 旋轉縮放比例:允許旋轉和調整。
  • 移動旋轉縮放比例:允許移動、旋轉和縮放。

操作處理常式

允許遠距操作 指定操作是否可以使用與指標進行遠距互動。

靠近單手旋轉模式 指定物件在接近一手/控制器時,其行為方式。

單手旋轉模式遠 指定物件在距離使用單手/控制器抓取物件時的行為方式。

單手旋轉模式選項 指定物件在一手擷取時如何旋轉。

  • 維護原始旋轉:不會在移動物件時旋轉物件
  • 維護使用者旋轉:維護物件對使用者之 X/Y 軸的原始旋轉
  • 向使用者對齊旋轉的重力:維護物件的原始旋轉給使用者,但使物件垂直。 適用于具有界限控制項的物件。
  • 臉部使用者:確保物件一律會面向使用者。 適用于 slates/panels。
  • 離開使用者:確保物件一律會離開使用者。 適用于向後設定的平板/面板。
  • 旋轉物件中心:僅適用于已表達的手部/控制器。 使用手部/控制器旋轉來旋轉物件,但關於物件中心點。 適用于在距離檢查。
  • 繞著抓取點旋轉:僅適用于已表達的手部/控制器。 旋轉物件,就像手部/控制器所持有一樣。 適用于檢查。

發行行為 釋放物件時,請指定其實體移動行為。 需要固定的主體元件位於該物件上。

  • Nothing
  • 所有項目
  • 保持速度
  • 保持Angular速度

旋轉的條件約束 指定物件在與互動時將旋轉的座標軸。

  • None
  • 僅限 X 軸
  • 僅限 Y 軸
  • 僅限 Z 軸

針對條件約束使用本機空間 在套用世界空間軸或區域空間軸的條件約束之間切換的切換。

移動的條件約束

  • None
  • 修正與頭部的距離

平滑作用中 指定平滑是否為使用中。

單手平滑處理量 要套用至移動、縮放、旋轉的平滑度量。 0 的平滑表示不會平滑。 最大值表示值不會變更為值。

事件

操作處理常式提供下列事件:

  • OnManipulationStarted:操作啟動時引發。
  • OnManipulationEnded:操作結束時引發。
  • OnHoverStarted:當手/控制器將可操作、接近或遠方時引發。
  • OnHoverEnded:當手/控制器取消暫留操作、接近或遠處時引發。