【VR】手のインタラクションについて
久々にXR紳士のための技術記事です。
まあ今回は、アセット紹介がメイン。
結論から言いますと、力学的に(結構)自然なインタラクションのためには、
「コントローラー操作」なら
Hurricane VR
「ハンドトラッキング操作」なら
HPTK Posing & Snapping
を使いましょう。
以下、その有用性を解説していきます。
どう自然なのか
SteamVR Pluginに標準の手のインタラクションには、
(挙動的に恐らく)
VirtualCoupling法を用いた制御によって、
トラッキング位置の座標代入による絶対的な移動ではなく、
力によるトラッキング位置への追従が使われています。
現実の手は容易に軽々と動かせても、映像内の手はしっかり壁や机等に引っかかってくれるという訳ですね。
抵抗をシミュレーションし、現実にフィードバックを返せない環境下(じゃなくても?)において、
没入感の基礎となる仕組みだと個人的に考えています。
私の最新作のヒプノティストにも、SteamVR Pluginのインタラクションシステムを用いました。
https://twitter.com/NyaoNyao333/status/1485891422637404160?s=20&t=Ic9s7d7VwYdMTHx4BlvRVA
現実の手の位置は体に貫通する位置にあるのに対し、映像内では貫通しなかったりする訳です。
ですが、問題点が。
Quest単体動作用に作ろうとなると、OculusIntegrationを使わなければならないのが(今のところ)通例ですが、そちらの手のインタラクションについては、トラッキング位置の座標を映像内の手に直接代入する形での追従となっています。
せっかくPuppetmaster等で関節の可動域や質量を設定したアバターの体に干渉するうえでも、自分の手の質量は実質∞という形になってしまい、相手側をどんなに重くしても軽く押し込めてしまうわけですね。
ハンドトラッキングについても、標準のモノについては同様です。
どうしたものか...と、恐らく多くの方が直面するのではないでしょうか。
ということで、便利アセット紹介です。
HurricaneVR
特筆すべき点は、
「Quest単体動作用にも対応」
というところです。
SteamVR動作用に作ったものと互換性を保てます。
更に言うと、SteamVR Pluginの標準のインタラクションシステムも相当なものですが、
HurricaneVRはさらに高品質です。
Half-Life Alyx並みといったら伝わるでしょうか。(で見られるインタラクションが悉く実装されてます。)
SteamVR Pluginでは中途半端にしか実装されていない、UI操作も充分にできます。
UI操作のためだけの有料アセットなどありますが、HurricaneVR一つ買えば十分かと。
コントローラー操作のVRゲームにおいては、Hゲームだけじゃなくてもかなり有用なのではないでしょうか。
HPTK Posing & Snapping
こちらはハンドトラッキングに対してVirtualCoupling法を適用させられるアセットです。
最近、OculusIntegrationのv37が配信され、ハンドトラッキングの新しいインタラクションが導入されましたが、確認してみたところ普通に手のトラッキング位置の座標を代入してるだけだったので、依然HPTKの方が良いと思います。
MRTKも、UIに対するインタラクションは非常に洗練されていますが、これもVirtualCouplingは使ってないです。
ことVRのHゲームにおいて、
・致す間にコントローラー持って操作しなくていい
・指単位で相手の体に干渉できる
による快適さと没入感は圧倒的ですので、
多様な入力は制限されてしまいますが、そこに関して問題ないゲームデザインであるならばハンドトラッキングは積極的に使っていくべき機能であり、同時にこのアセットは必須だと思います。
まとめ
ここ最近は周辺のクリエイター様の制作動向を拝見させていただいてたのですが、あんまり一般的じゃなかったようなので紹介させてもらいました。
これから作るよ~って方も購入を検討してみてはいかがでしょうか。