Oculus Rift S で ハンドトラッキングしてみようとLeap Motionを繋いだ。
HMDのどれかのスレでLeap Motionで出来るとあったので、ずっと寝かしてあったLeap Motion(多分ファームバージョンアップ済み)をPCに接続してみた。
Rift Sを繋いでも何も起こらないし、SteamVRでも認識してない?(なんか黒い四角があるが)ようなので、ホームページに行って、ORION BETA DOWNLOAD というボタンを押して、SDKをダウンロードしようとしたら、アカウント登録済みだった。
パスワードを入力してSDKをダウンロードしようとしたら、すでにダウンロードされていた。
なので解凍後、~Setup.exeを実行。FinishでLeap Motionソフトを起動した。
すると画面には変化が無いが、タスクトレイにアイコンがあった。
アイコンにマウスをかざすと「Leap Motion コントローラはオンになっています」とメッセージ。
アイコン右クリックで、
ビジュアライザー
設定
Pause Tracking
Exit
が選べるので、ビジュアライザーを選択。
画面いっぱいにウィンドウが表示され、
Please put on your head-mounted display
Tracking Mode:Head-Mounted
というメッセージが。文字が重なって見えないがfpsを表示している文字も。
タスクバーにはUnityアイコンが見え、SteamVRには特に変化なし。
Rift Sをかぶると、
モノクロの自分の姿が。
Leap Motionが赤外線カメラで映した映像だ。
向きを調整してHMDの前に固定。
手を差し出すと、いわゆる指の関節毎に丸いボールで折れ曲がる様子をグラフィックで表現した映像が重ねられた。
指を動かすとグラフィックも連動する。
おー、何にもしてないのに簡単なんだな。
インストール後のReadMeで、
Oculus Rift Setup — Leap Motion Developer
https://developer.leapmotion.com/vr-setup/oculusrift
で2.Setupを読む。
パススルー画面が見えない場合、イメージ許可にチェックが入っているか確認するようだ。
これは正常だった。
3.Enable Eternal Apps
Oculusアプリの設定で、外部の知らないソースからのアプリケーション許可を必要とするらしい。
そんな項目あったかなーと思ってOculus Homeを調べても無い。Steam/SteamVRの設定にもない。SteamVRのUSB機器の再認識でSteamVRを再起動すればもしかするともしかして。
P.S.
ダメだった。パススルー画面にも表示されない。あくまでもビジュアライザーをいうアプリが赤外線表示しているだけで、Rift Sのパススルー画面に表示しているわけではない。
とりあえず、4.Explore The Galleryで、デモアプリがあってそれがサポートするHMDの中にRift があるので、Sも可能性あるので、ダウンロードしてみる。
最初のBlocksを選ぶ。
開いたディレクトリにOculus 0.8 と Oculus 1.3 or HTC Viveという2つのディレクトリが。
どちらもLEAP → USBみたいな表示になりUSBを抜き差ししても先に進まない。PC画面とHMD内画面に表示されている。
一つ飛ばしてPaintを選ぶ。
こちらは素直に認識した。
HMD内で近くに寄って来いとのハンドジェスチャーメッセージに従い、近くに行き、片手で親指と人差し指で丸を作るようメッセージ。従うとその場で指先でラインが描けた。
おー、VRアプリが対応すればハンドトラッキング出来るんだな。HMDへの表示はアプリが意識しなくても勝手にOculus HomeかSteamVRが描画してくれるみたい。
Oculus Homeアプリが真っ先に対応しそう。Questが12月にベータだからRift Sが後回しになって2月くらいか。パススルー画面に手のグラフィックが出ても大して役に立たないから、ランチャーであるHomeが対応するのがいいな。
Rift SのカメラやLeap Motionのような簡単な機器で実現出来そう。
Leap MotionのUSB接続でPCへデータ送っていてそれがHMDに表示できるデモがある。Rift SのUSBでカメラ映像をORION SDKで解析して手の位置を判別しそれを手のグラフィックまたはTouchコントローラの入力データとして上書きすればいい。