見出し画像

Questコントローラの隠し機能について

知っている方が読むのをやめられるよう結論から言いますと、
「親指の接触センサーがボタンとスティック以外にもひとつある」
という話です。
まずはResoniteWikiから持ってきた下記画像をご覧ください。

https://wiki.resonite.com/Basic_Controls

画像は左手のコントローラですね。XYボタンの両サイドに点線の伸びていない箇所が2カ所あるのが分かると思います。
次に実際のコントローラの画像です。

Quest2 Touchコントローラ(L) ボタン配置

点線が伸びていなかった部分は左のメニューボタンと右の親指のレストゾーンであることが分かりました。
レストゾーンはギザギザの触り心地になっているものの、押し込んだりすることはできません。XYボタンやスティックは触るだけで反応する接触センサーを備えていることから、接触の信号を送らずに親指を文字通り休めることができる空間なんですね。

https://www.meta.com/jp/quest/products/quest-2/tech-specs/#tech-specs
meta公式の技術仕様にそう書いてあります

このレストゾーンこそが実は各ボタンと同じように「触っている」ことが検知できる場所なのです。
VRコントローラは入力が少なくなりがちなのでひとつでも増えるのはうれしいですね。
反面、結局親指が休めるところはありませんでした。しかたないですね。

ではQuest3のコントローラではどうでしょうか。

クエスト3コントローラではギザギザになっている場所が無くなり、やや斜めに傾斜がついていてより自然に指が置けるようになりました。
見た目では分からなくなりましたが、接触判定は健在です。
Proコンは持ってないので情報ください🐈

2024.06.28 追記
Kの人さんよりProのコントローラーも同じ位置に判定があると教えていただきました!
ありがとうございます!

 

Resoniteではこの入力が存在することが目で見てわかります。
画像はResoniteでセットアップしたアバター「猫山苗」ちゃんを着て各ボタンに触れた時の親指の動きを撮影した画像です。
左からスティック、Xボタン、Yボタン、レストゾーンに触れています。

それぞれ親指の位置と形が違うことがお分かりかと思います。
ボタンよりもレストゾーンに触った時の方が自然な握りこぶしになっていますね。

[余談]Fluxノードでの扱い

Resoniteではコントローラの入力をそのままFluxのノードで取得することができます。レストゾーンの入力はどのように実装されているのでしょうか。
Touch ControllerノードとStandard Controllerノードで実験してみました。

ThumbsUp状態(親指以外のボタンを押す)
ThumbsUpからレストゾーンに触れた状態
Quest2と3どちらも同じ結果でした

全てのbool値を取り出してみました。
左のちょっと列から外れたノードが「ThumbRestTouch」という出力の値です。
触っても何も変化ないですね。ノード壊れてるのかな?
今度Neosでも見てみようかな

おしまい

ということで以外に知られてないかもしれない触覚センサーの紹介でした。
私はUnityさわれないんでわからないんですけど、VRChatでも活用できるのかな?少なくともデフォルトでは反応しないけど。
見て下さってありがとうございましたー🐈

指さしのポーズがきれいになりますよ

この記事が気に入ったらサポートをしてみませんか?