【VRChat】Leapで手の動きをトラッキングしてみた!!

スポンサーリンク




こんにちは~
ケーキです!!

つい先日気になってしまってこんなものを衝動買いしてしまいました。

こちらは、Leap Motion社から販売されているLeap Motion(リープモーション)といい、手の動きをトラッキングしてジェスチャーを認識しPCを操作することができるモーショントラッキングデバイスです。

これを買った理由なんですが、トラッキングした手をそのままVRChatで使用することで専用VRコントローラなどを介さず遊べないかなぁという安易な考えで始まりました。。。(笑)

まぁ何も知らない状態からやるのは中々難しく、色々な方に教えてもらったりして何とかVRChatまで持っていくことができたので今回はそのやり方をご紹介していきたいと思います!!

準備編

まずは基本的な環境構築から進めていきます。

Leap Motionのセットアップ

公式より配布されているLeap Motion用のセットアップファイルをダウンロードしてインストールしましょう。
配布先はこちら→Leapセットアップガイド

①アクセスした先でVRの”始める”をクリック
②DOWNLOAD ORION BETAをクリックしてSDKをダウンロードする(ダウンロードの際にアカウント登録画面が出るので作成もしておくこと)

SDKをダウンロードしてきたら、解凍して中にある実行ファイルからインストールをしましょう。

ダウンロードはこちらから→driver_leap

インストールが完了すると専用のLeap Motionコントロールパネルが開けるようになりますので、それを開いて下記の画像のようになっているかを確認してください。
なっていなければ変更していきましょう。またLeapを接続して接続ステータスが大丈夫かも確認しておきましょう。

SteamVR用 設定ファイルのダウンロード

SteamVRでLeap Motionを使用するための設定ファイルをコチラからダウンロード・解凍しましょう。

解凍まで済んだら、SteamVRがインストールされているフォルダまで行きましょう。

Proglam Files/Steam/steamapps/common/SteamVR/driversに移動。
そこで”leap”というフォルダを作成後、先ほど解凍した2つのファイルを持ってきましょう。

ファイル移動後、cfgフォルダ内にある”control_config.xml”をエディタなどで開きましょう。
私はサクラエディタを使用して開きます。

開きましたら以下のように書き換えていきます。

最初の赤線項目はエミュレートするコントローラの設定です。
私は指トラッキングを試してみたいので”index”としました。

2つ目の項目は標準で”hmd”になっていればそのままでよいです。

3つ目は”full”に変更。

次にSteamVRの設定ファイルを書き換えていきます。
Proglam Files/Steam/configまで移動しましょう。

移動した先にある”steamvr.vrsettings”ファイルをサクラエディタなどで開きましょう。
また、上記ファイルはコピーなどをしてバックアップを取っておきましょう。

“steamvr” : { の行に
“activateMultipleDrivers”: true,
を追加しましょう。(既にあれば特に変更なし)

上記まで行うとSteamVRを起動した際にコントローラが認識されるようになります。

移動・視点移動用のコントローラー

先ほどまでの準備でSteamVR上の認識、VRChatでの使用はできるのですが、移動や視点移動などができません。(設定次第ではできるのかもしれませんが・・・)
そのため私はSteam上で認識できるXBOX360コントローラーを繋げて移動系統を補っています。

無線のものも使えるらしいです。(やはり線はない方が煩わしさがないと思います)

VIVEへのLeap取付け

現在の私の環境はこうなっております。
VIVEにLeap Motion専用のマウントを購入しVIVEHMDの全面に取り付けております。
またコードはマウントに付属してきた延長USBケーブルで天井を這わせてPCに接続してあります。

専用マウントもおすすめですが、100均とかでマジックテープとかを買ってきて取り付けてもありかと思います(笑)
ただLeap自体も熱を持ちますが、VIVEに取りつけることでHMDの熱も伝わり、温まってくるとトラッキング性能が落ちる原因にもなるらしいので、少し高さを持たせた取付けにするとよいでしょう。

Leap ←→ 標準コントローラ 切替方法

Leap Motionを使用していると標準のVIVEコントローラーが使えません(使えないというよりはコントローラーではなくトラッカー認識されてしまいます)
Leap Motionの電源を切ればいけるかな?と思ったらダメだったので、別の切替方法で試してできましたので載せておきます。

Proglam Files/Steam/steamapps/common/SteamVR/driversに移動。
途中で作成した”leap”フォルダを名前変更すると標準コントローラーを認識することができました。(私は”leap_”とかにしておきました)

Leap Mortionを使用したい場合は”leap”に戻せば使えるようになります。

実際に使ってみた

VRChat上で使用した時の手の状態を動画撮影してみました。

まぁまぁ手も指もトラッキングできているのではないでしょうか!!

また実際の使用感的には、感動できるところもありますが最終的には物理コントローラーには勝てないかなぁというところ・・・
手や指がトラッキングされVR内で同じ動きをしている様は良いのですが、Leap Motionの視野角110°から外れるとトラッキングもできないため手は止まってしまいます。(MRなどをやったことがある方はわかるかも)なので、手は常に前にある感じです。
後は移動方法にJoyコンというところ、せっかくなのでトラッキングした手で移動方法があるとよいですよね。

あと、現状indexコントローラーをエミュレートしてる場合表情(アニメーションオーバーライド)変更ができない・・・表情を失ってしまった。

最後に

以上までが、簡単ではありますがLeap MotionをVRChatに持っていく手順紹介でした。
Leap Motion自体、他にも”3tene”などもLeap Motionに対応しておりVRMを動かせるとかもあるみたいなので、用途はいくらでもあるかと思います。

あと、今回私の環境はVIVEでしたが、他の方でOculusやPIMAXの方もいました。
作業自体はそんな多くないため、まぁお金もあるし試してみてもいいかなぁと思う人はぜひ試してみてください!!
(実際にVRChat内で指が動かせるとおぉ!!てなります)

ではでは、今回はここまで!
最後まで読んでいただきありがとうございました!!

スポンサーリンク