Slide 1

Slide 1 text

1 Oculus Quest ハンドトラッキングで キーボードを作ってみた sentomo 2020.3.6 xRLT vol.3 Photo by Luis Quintero on Unsplash

Slide 2

Slide 2 text

自己紹介 ➤ 名前 sentomo @sentomo594 ➤ 所属 リコーITソリューションズ株式会社 ➤ 年次 4年目 ➤ VR開発 2年半くらい Unity:2017.10〜2019.6 UE4 :2019.7〜 ➤ 現在、リコーのアクセラレータプログラムで バーチャルワークスペースを開発中 ➤ 社内のVRコミュニティ「アトリエリアリテ」運営 2

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

自己紹介 ➤ 名前 sentomo @sentomo594 ➤ 所属 リコーITソリューションズ株式会社 ➤ 年次 4年目 ➤ VR開発 2年半くらい Unity:2017.10〜2019.6 UE4 :2019.7〜 ➤ 現在、リコーのアクセラレータプログラムで バーチャルワークスペースを開発中 ➤ 社内のVRコミュニティ「アトリエリアリテ」運営 4

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

 昨年12月 ハンドトラッキングのSDKが公開!

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

この頃から約1ヶ月…

Slide 9

Slide 9 text

ハンドトラッキングで キーボード入力してみたい!

Slide 10

Slide 10 text

やったこと ➤ VR内のキーボードを現実の机の上に置けるように ➤ 空中でタイピングするのは難しいと考えたため ➤ 全ての指先に衝突判定をつける ➤ 1本指打法ではなく、全ての指でタイピングしたい ➤ キーを押した感じを出す ➤ 文字入力 10

Slide 11

Slide 11 text

やったこと ➤ VR内のキーボードを現実の机の上に置けるように ➤ 空中でタイピングするのは難しいと考えたため ➤ 全ての指先に衝突判定をつける ➤ 1本指打法ではなく、全ての指でタイピングしたい ➤ キーを押した感じを出す ➤ 文字入力 11

Slide 12

Slide 12 text

机の上におけるように ➤ Questのカメラを使って、机の平面を認識させたい! ➤ 現時点ではQuestのカメラは開発者側からいじれない… ➤ 自分でキーボードを動かして、任意の位置に配置する ➤ 指でキーボードをつまんで動かす 12

Slide 13

Slide 13 text

机の上におけるように ➤ Questハンドトラッキング対応MRTK(HoloLens用のsdk)を試す ➤ https://github.com/HoloLabInc/MRTKExtensionForOculusQuest ➤ たるこすさん、ありがとうございます!! 13

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

机の上におけるように ➤ Questハンドトラッキング対応MRTK(HoloLens用のsdk)を試す ➤ https://github.com/HoloLabInc/MRTKExtensionForOculusQuest ➤ たるこすさん、ありがとうございます!! ➤ 物をつかむ仕組みが使えそう! 15

Slide 16

Slide 16 text

やったこと ➤ VR内のキーボードを現実の机の上に置けるように ➤ 空中でタイピングするのは難しいと考えたため ➤ 全ての指先に衝突判定をつける ➤ 1本指打法ではなく、全ての指でタイピングしたい ➤ キーを押した感じを出す ➤ 文字入力 16

Slide 17

Slide 17 text

全ての指先に衝突判定をつける ➤ MRTKのタッチ操作は、HoloLens 2のジェスチャーに対応している ➤ HoloLensでは、5本指全てに衝突判定をつけることを推奨していない ため、通常は人差し指しかタッチ操作が効かない https://docs.microsoft.com/ja-jp/windows/mixed-reality/direct-manipulation 17

Slide 18

Slide 18 text

全ての指先に衝突判定をつける ➤ 今回は、OculusQuest側の設定を使う ➤ OVRHandPrefab > OVR Skeleton (Script)の Enable Physics Capsuleにチェックを入れるだけ 18

Slide 19

Slide 19 text

全ての指先に衝突判定をつける ➤ 衝突判定は、衝突したオブジェクトの名前が “Hand_xxx_CapsuleCollider” かどうか ➤ 参考: https://qiita.com/qvtec/items/a5b668bac926c598afd7#%E8%A1%9D%E7%AA%81%E3%8 2%A4%E3%83%99%E3%83%B3%E3%83%88 19

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

やったこと ➤ VR内のキーボードを現実の机の上に置けるように ➤ 空中でタイピングするのは難しいと考えたため ➤ 全ての指先に衝突判定をつける ➤ 1本指打法ではなく、全ての指でタイピングしたい ➤ キーを押した感じを出す ➤ 文字入力 21

Slide 22

Slide 22 text

キーを押した感じを出す ➤ 音と視覚的フィードバック ➤ 音:MRTKに入っていたサウンド ➤ 視覚:押した時にキーの色を変える →MRTKのButtonサンプルを参考に 22

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

やったこと ➤ VR内のキーボードを現実の机の上に置けるように ➤ 空中でタイピングするのは難しいと考えたため ➤ 全ての指先に衝突判定をつける ➤ 1本指打法ではなく、全ての指でタイピングしたい ➤ キーを押した感じを出す ➤ 文字入力 24

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

文字入力 ➤ おっと…? 26

Slide 27

Slide 27 text

文字入力 ➤ おっと…? ➤ 一斉にキーが押されすぎ・・・ ➤ 実際にキー入力をするときは、基本的に1つずつしか打たない (shiftキーを押しながら他のキーを押すことはあるが) 27

Slide 28

Slide 28 text

文字入力 ➤ おっと…? ➤ 一斉にキーが押されすぎ・・・ ➤ 実際にキー入力をするときは、基本的に1つずつしか打たない (shiftキーを押しながら他のキーを押すことはあるが) →改善として、 キーが押されているときは、衝突判定が効かない処理を入れる キーの大きさを変える 全く別の入力方法を考える 28

Slide 29

Slide 29 text

ハンドトラッキングについて 感じたこと

Slide 30

Slide 30 text

ハンドトラッキングについて感じたこと ➤ 指の衝突判定は、意図せず反応することがしばしば… 現状は、指の細かい動きを使って操作するのは難しい ➤ つまむ、手を使ったポーズの判定は割とやりやすそう ただし、現状のQuestだと、手の角度によって認識精度が落ちるので、 認識精度が影響しないポーズや仕草にした方が良い ➤ 自然で直観的な動作は何か、を考え続ける 自然な動作に近づけるのか、それとも新しいUXを考えるか 感覚フィードバック、人間工学も気になる 30

Slide 31

Slide 31 text

ハンドトラッキングについて感じたこと ➤ 指の衝突判定は、意図せず反応することがしばしば… 現状は、指の細かい動きを使って操作するのは難しい ➤ つまむ、手を使ったポーズの判定は割とやりやすそう ただし、現状のQuestだと、手の角度によって認識精度が落ちるので、 認識精度が影響しないポーズや仕草にした方が良い ➤ 自然で直観的な動作は何か、を考え続ける 自然な動作に近づけるのか、それとも新しいUXを考えるか 感覚フィードバック、人間工学も気になる 31

Slide 32

Slide 32 text

ハンドトラッキングについて感じたこと ➤ 指の衝突判定は、意図せず反応することがしばしば… 現状は、指の細かい動きを使って操作するのは難しい ➤ つまむ、手を使ったポーズの判定は割とやりやすそう ただし、現状のQuestだと、手の角度によって認識精度が落ちるので、 認識精度が影響しないポーズや仕草にした方が良い ➤ 自然で直観的な動作は何か、を考え続ける 自然な動作に近づけるのか、それとも新しいUXを考えるか 感覚フィードバック、人間工学も気になる 32

Slide 33

Slide 33 text

と、感じていたところ…

Slide 34

Slide 34 text

No content

Slide 35

Slide 35 text

No content

Slide 36

Slide 36 text

Your first instinct might be to create a realistic representation of a human hand, but this can be an expensive and difficult endeavor. Realistic hands often feel uncanny at best, and at worst can make users feel disembodied. Instead, think about what works best for the experience you’re building.

Slide 37

Slide 37 text

最初は、人間の手の現実的な表現を実装しようとすると思 いますが、 これは高コストでとても難しい可能性があります。 代わりに、体験に最適な方法を考えてください。 (参考:Google先生翻訳)

Slide 38

Slide 38 text

私のことじゃん…!

Slide 39

Slide 39 text

(まあやってみないとわからないよね)

Slide 40

Slide 40 text

It’s still early days, and there’s still so much to figure out. We hope the solutions you find guide all of us toward incredible new possibilities.

Slide 41

Slide 41 text

ハンドトラッキングはまだ初期の段階であり、 まだ理解しなければならないことがまだたくさんあります。 あなたが見つけた解決策が私たち全員を信じられないほど の新しい可能性に導くことを願っています。 (参考:Google先生翻訳)

Slide 42

Slide 42 text

ワクワクしませんか?

Slide 43

Slide 43 text

一緒に快適なハンドインタラクションを 探求していきましょう!!

Slide 44

Slide 44 text

Thank you!