ピンクの警報発令中

多分VR転職しました。関連する技術系の話と、アイドルの話をします。技術の話、めちゃゆるい。

Hololens 2 シミュレーション時のハンド表示を変更したい

どうもこんばんよう、私です。

HandMenuについて悩んでいます。
というもの、HandMenuを表示した手でボタンを誤タッチしているような挙動があり、表示距離としては十分取っているし、そう見えるんですけど、何かなぁと。
それはまた機会があれば書きましょう。

今回は、そんなHandMenuに欠かせない手の話。
(間違いがあれば教えてください!!!)

UnityEditor上でプロジェクトを動かすと、ハンドって人差し指を立てた状態で表示されますよね。
これを別の表示にしたくないですか?

例えばパーとか。

環境

Unity 2019.4.11f1
MRTK2.5.0

動かしてみる

MRTKが入った状態のプロジェクトで手を表示すると、前述の通りに親指と人差し指が開いた状態で表示されます。
この形はOpenといいます。

f:id:samy_hrin:20201009181516p:plain

環境にExamplesが入っている場合、HandMenuExamplesのSceneを実行してみてください。

f:id:samy_hrin:20201009182111p:plain

手が…パーだ……!

パーの状態はFlatといいます。

なるほど、実は手の形を変えられるんですね、そうですよねー!

ハンド表示の変更

実際どうやって変更するのか、というところです。

設定は
MixedRealityToolkit > Input > Input Data Providers > Input Simulation Service
で変更することができます。

Profileを編集するので、まずはProfileのCloneをする必要があります。
詳細についてはガイドを付けておきます。

hololabinc.github.io

さて、Input Simulation Service を開いたものの、項目がめっちゃ多い。

スクショに収まらないくらい多い。
(そして目的のメニューはここには映ってない)

f:id:samy_hrin:20201009183155p:plain

なるほど、全然使いこなせちゃいないけど、これだけ色々とシミュレーションで使えるんだなぁということがわかります。

では、ハンドの設定はどこかというと、 Hand Gesture Settings にあります。

f:id:samy_hrin:20201009183836p:plain

設定 内容
Default Hand Gesture ハンド表示で操作なしの状態
Left Mouse Hand Gesture マウス左クリックでのハンドジェスチャ
Middle Mouse Hand Gesture マウスのスクロールくるくるクリックでのハンドジェスチャ
Right Mouse Hand Gesture マウスの右クリックでのハンドジェスチャ
Hand Gesture Animastion Speed ハンドジェスチャの動きの速さ。数値が大きいと早く、小さいと遅い
Hold Start Duration ホールドジェスチャの開始までの時間。Pinchで指が閉じたままなどがホールドされた状態
Navigation Start Threshold 掴んだオブジェクトを移動させるために必要な移動量

関連するドキュメントは以下です。

hololabinc.github.io

docs.microsoft.com

なるほど、ハンドジェスチャーが色々変えられることがわかりました。

None
f:id:samy_hrin:20201009200352p:plain

Flat
f:id:samy_hrin:20201009200424p:plain

Open
f:id:samy_hrin:20201009200746p:plain

Pinch
f:id:samy_hrin:20201009201127p:plain

Pinch Steady Wrist
f:id:samy_hrin:20201009200800p:plain

Poke
f:id:samy_hrin:20201009200813p:plain

Grab
f:id:samy_hrin:20201009200825p:plain

Thumbs Up
f:id:samy_hrin:20201009200843p:plain

Victory
f:id:samy_hrin:20201009200856p:plain

Open Steady Grab Point
f:id:samy_hrin:20201009200910p:plain

似たようなものもあるのですが、実際に見ると動きが微妙に違ったりします。

ところで、Defaultの設定でMiddleとRightのマウス操作がNoneになっていました。
今までマウスの左クリックでしか動かしていませんでしたが、3ボタンあるので3つのジェスチャーを割り当てることも出来ます。

ぐーちょきぱー、ゆびさし。
こんな感じ。

各Hand Jointに対しての処理なんかがある場合、OpenよりFlatの方が見やすいので、Editorでの動作確認が捗りそうですよね!

ということで、UnityEditor上で動作時にハンド表示を色々変えてみる話でした。

ところで、手をぐるぐる回していると、指先に天使の輪みたいなのが生まれて消えるんですが、あれはなんなんすかね。。。