/MLHandTrackHack

MLHandTrackHack is an experimental project for a generic UI in XR HMD.

Primary LanguageC#MIT LicenseMIT

LICENSE Latest GitHub release Unity

MLHandTrackHack

MLHandTrackHackはXR HMDにおける汎用UIの実験プロジェクトです。
このリポジトリではMagicLeapを対象としています。

現在は:

  • Revolve Icons
  • New Fingers

の2つのUIを開発しています。

開発の経緯、UIの詳細な説明は本リポジトリの前身となったプロジェクト「Character as an Interface」のサイト に記載しています。

Revolve Icons

RI

New Fingers

NF

Getting Started

  1. 以下のライブラリをUnityに導入。

    Name Version
    DOTween 1.2.632
    UniRx 7.1.0
    UniTask 2.2.5
    MagicLeap SDK 0.26
    XR Plugin Manager 4.0.1
  2. Magic-Leap-Toolkit をダウンロードし、インポート。

  3. 最新のリリース からMLHandTrackHack.unitypackage をダウンロードし、インポート。

  4. UnityのプロジェクトでApp/RevolveIcons or NewFingers/ExampleフォルダにExampleシーンがあります。

Usage

Revolve Icons

  1. 設定したいイベントのアイコン画像を用意。

  2. App/RevolveIcons/Prefabs/Icons/IconOriginプレハブの子要素IconImageにアイコン画像を設定。
    RI_usage_2

  3. IconOriginプレハブにあるIconBehaviorコンポーネントのOnFistEventsにアイコンが選択された状態でFist(握る)ジェスチャした際のイベントを設定。
    RI_usage_3

  4. RevolveIconsプレハブの子要素IconsRootにあるCircleObjectCreatorコンポーネントのIconsに作ったアイコンをアタッチ。
    RI_usage_4

  5. 1~4までを作りたいアイコンの数繰り返す。

  6. アイコンをすべてアタッチできたら、IconsRootCircleObjectCreatorをアクティブにすると、アタッチしたアイコンが円形に配置される。円形に配置されたらCircleObjectCreatorを非アクティブにしておく。
    RI_usage_6

  7. RevolveIconsRevolveIconsControllerIconNumに設定したアイコンの数を入力。
    RI_usage_7

  8. シーン上のオブジェクトにRevolveIconsCreatorコンポーネントを追加し、RevolveIconsPrefabに7までに作ったプレハブをアタッチ。
    RI_usage_8

  9. ビルドまたはZero Iterationで確認。

NewFingers

  1. MLHandTrackHack.NewFingers.NewFingerAppを継承したスクリプトを作成し、StartAppメソッドに指をくっつけた時の処理を記述。 NF_usage_1

  2. 1で作ったスクリプトをApp/NewFingers/Prefabs/NewFingersプレハブに追加。

  3. App/NewFingers/Prefabs/NewFingersプレハブの子要素IndexObj(人差し指)→FingerTipControllerNewFingerAppに2で追加したスクリプトをアタッチ。 NF_usage_2

  4. 1~3を他の指にも設定。

  5. ビルドまたはZero Iterationで確認。

Author

  • Yuto Hayashi
  • Ayato Enami
  • Mitibumi Ito

License

  • This asset is under MIT License.