本記事は VTuber Tech #1 Advent Calendar 2019 の7日目の記事です。
11月28日に日本でも購入可能となったValve Index、コントローラーで指の動きが取得可能なことが特徴です。
ゲームのための入力インターフェースとしてはとても優秀なものです。
しかし、バーチャル表現者の新しい手たりうる銀の弾丸か、結論から言うとベターですがベストではないです。
Indexコントローラーは、何が得意で何が苦手なのか、見ていきましょう。
Indexコンは指の状態をどうやって取っているか
Valve公式の解説記事
Indexコントローラーのユーザーインタラクションの最小閾値は
「コントローラーのどの位置に接触しているかどうか」が判定ポイントで
Indexコンの各入力ボタンやタッチパッドに触るだけでIndexコンは触られていると検知します。
指ポーズの変換について
SteamVR_Behaviour_Skeleton.rangeOfMotion の設定で、指の開き方が変わってきます。
SteamVR_Behaviour_Skeleton.rangeOfMotion = EVRSkeletalMotionRange.WithController
の場合、コントローラーを持っている前提で手のモーションが決まります。

この場合ピースしても シュトロハイム*1 って言われそうなポーズになってしまいます。

SteamVR_Behaviour_Skeleton.rangeOfMotion = EVRSkeletalMotionRange.WithoutController
だとA,Bボタンに指を置くと親指を固く握り、チョキがちゃんとチョキになって、人差し指のトリガーを深く握り込むとグーになります。

バーチャル表現者的にどうか
大福らなさんがツイートしているように、一番得意な事は中指を立てることです。あと「いいね」もやりやすいです。
VALVE INDEXコントローラで出来ることを纏めた資料映像です。ご査収下さい。
— 大福らな🧷ぱふぇらむ公式ライバー (@daifuk_lana) 2019年11月28日
アーカイブ本編はこちらhttps://t.co/GKgsO3gxYF
こういうことをやっているチャンネルはこちらhttps://t.co/DINrvsCPKH#バーチャルモーションキャプチャー pic.twitter.com/tVCfkZmJe8
- 指のポーズの判定が指の開きだけで、誤判定もあるので、微妙な調節が難しい
- 手の甲の動きがないので、常に手の表情がマッチョになる
したがってすべてが力強い動きになって、しなやかな表現をするのは難しいです。
「指のモーションを撮る」という目的で使うなら、Indexコンは厳しいです。
モーションキャプチャーなぞどうでもいいので、見た目を何とかしたい。という場合は、指が開いたときに揺らぎのモーションをオーバーライドするスクリプトなどを書けばカバーできそうです。
Indexコンは誰のためのデバイスか
ゲームプレイヤー向けか
ゲーマーのため、さらなるゲーム体験の向上のためであれば、良いデバイスです。
タッチパネルとジョイスティックを両方装備し、接触も感知していて、振動も表現可能です、ゲームのための表現ツールとしてとても優れています。
VRChat住人向けか
VRChatユーザーも必ず買うべきかといえば、現状あると面白いけど必須でもないと思います。
それについては特化したレビューをされている方が居るのでそちらが参考になるでしょう*2。
親指の挙動*3の正解を出してくれたら面目躍如するかも?
開発者向けか
開発者は、新しいアイデアやデバイス対応のために買うべきかと思います。
SteamVRと独立したSkeltonPoser
SteamVRとは独立して、手のポーズをとる仕組みらしいです。
V者ツール開発者的にこちらが本命そうですが、サンプルコードがひとつもないので、ライブラリのソース読んでいくしかないですね!
がんばりましょう!
2019/12/11 追記
SkeltonPoserはオブジェクトごとに独自の「持ち方」を定義するもののようです。 自由なポーズではない!残念!
愚痴
SteamVR Unity Plugin 2.xよ、HMD無しでも動いてほしいです…
