Unity
VR
Vtuber
VRM
UniVRM

VRMで遊ぶ① ~ WindowsMR + VRMでやってみる~

はじめに

手持ちのWindows MRとVRMフォーマットでVTuberっぽい遊びをするまでの軌跡。参考になれば幸いです。アドバイスや間違っている箇所ご指摘等いただけれると励みになります。

VRMに関してはこちらをご覧いただければ!
https://dwango.github.io/vrm/

準備するものと環境

以下は最低限準備するものと&僕の環境です。
・Unity 2017.4
・Final IK
https://assetstore.unity.com/packages/tools/animation/final-ik-14290

・Windows MR & コントローラ
ちなみに僕が使用しているのはDell Visor

・UniVRM
以下より最新版の.unitypackageをダウンロードし
https://github.com/dwango/UniVRM/releases

・ニコニ立体ちゃん (VRM)
https://3d.nicovideo.jp/works/td32797

プロジェクトを作成しUniVRMをインポートする

パッケージをダブルクリックしてインポート。
キャプチャ1.PNG

キャプチャ2.PNG

VRMファイルのインポート

Assetsフォルダにダウンロードした*.vrmファイルを放り込めばprefabが生成されます。
キャプチャ3.PNG

Final IKのインポート

Final IKをインポートします。
キャプチャ4.png

シーンに諸々追加

まずはvrmファイルから変換されたprefabをシーンに追加します。
キャプチャ5.PNG

その後、追加したprefabにVRIKをアタッチ
キャプチャ6.PNG

VRIK -> Spine -> Head TargetにMainCameraを設定します
キャプチャ7.PNG

Main Cameraの座標は0クリアしたり、Nearの値を適当に変更しておきましょう。
キャプチャ8.PNG

キャプチャ13.PNG

再生前にEdit -> Project Settings -> PlayerからVirtual Reality Supportedにチェックをつけておく。
キャプチャ9.PNG

この段階でWindowsMRを接続して一度プレイをしてみましょう。HMDの上下で頭が追従して動くはずです。
キャプチャ10.PNG

両手のコントローラを設定

次に左右の腕を設定しましょう。
空のGameObjectを作成し「TrackedPoseDriver」をアタッチします。アタッチしたら以下のように設定します。
キャプチャ11.PNG

オブジェクト名はRightHとかにしておきましょう。

同様にしてLeftHも作成します。Positionはそれぞれ0クリアしておきましょう。
キャプチャ12.PNG

モデルを選択しVRIKの「Left Arm」と「Right Arm」のTargetに先ほど作成した「LeftH」「RightH」を設定します。
キャプチャ14.PNG

あとは客観的に見えるカメラなんかを配置して再び再生して確認します。


課題

どうやっても手首がおかしくなってしまいます。誰か回避策知ってましたらご教示お願いしますm(_ _)m
キャプチャ15.PNG

↑追記
解決しました。単純にRightH、LeftHに子オブジェくクトを入れて、そのオブジェクトで角度調整 & そのオブジェクトをVRIKのRight ArmとLeft Armに入れればよかった。
キャプチャ.PNG

次回

一人称視点の設定か表情の変更をやってみようと思います。