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](https://qiita-image-store.s3.amazonaws.com/0/48820/62f22de3-50c0-147d-fdc5-7c48de1ad2ec.png)

![キャプチャ2.PNG](https://qiita-image-store.s3.amazonaws.com/0/48820/66fecc40-ebdd-cda7-8fcc-c2c27efacd85.png)


##VRMファイルのインポート
Assetsフォルダにダウンロードした*.vrmファイルを放り込めばprefabが生成されます。
![キャプチャ3.PNG](https://qiita-image-store.s3.amazonaws.com/0/48820/52791576-0502-3120-4fd7-5d30ebf4244f.png)


##Final IKのインポート
Final IKをインポートします。
![キャプチャ4.png](https://qiita-image-store.s3.amazonaws.com/0/48820/741aed8f-0c19-a7e3-0c68-61b2814f3b3d.png)



##シーンに諸々追加
まずはvrmファイルから変換されたprefabをシーンに追加します。
![キャプチャ5.PNG](https://qiita-image-store.s3.amazonaws.com/0/48820/396066d8-2c56-25d2-c94d-232c2b6d598a.png)


その後、追加したprefabにVRIKをアタッチ
![キャプチャ6.PNG](https://qiita-image-store.s3.amazonaws.com/0/48820/38f8fa4d-e71b-914e-782a-e000b64a9c01.png)


VRIK -> Spine -> Head TargetにMainCameraを設定します
![キャプチャ7.PNG](https://qiita-image-store.s3.amazonaws.com/0/48820/67382343-1385-ca41-79fd-b8ac9393e0a5.png)


Main Cameraの座標は0クリアしたり、Nearの値を適当に変更しておきましょう。
![キャプチャ8.PNG](https://qiita-image-store.s3.amazonaws.com/0/48820/df10ede3-4bb5-90fb-1e48-56f3d9c5d1ae.png)

![キャプチャ13.PNG](https://qiita-image-store.s3.amazonaws.com/0/48820/cd2362e0-4ef7-680a-d382-1ec630fe7cbb.png)


再生前にEdit -> Project Settings -> PlayerからVirtual Reality Supportedにチェックをつけておく。
![キャプチャ9.PNG](https://qiita-image-store.s3.amazonaws.com/0/48820/831ec0f5-b3c1-79f2-0cd9-7e405e59bb04.png)


この段階でWindowsMRを接続して一度プレイをしてみましょう。HMDの上下で頭が追従して動くはずです。
![キャプチャ10.PNG](https://qiita-image-store.s3.amazonaws.com/0/48820/92dda126-6c8e-cb17-3215-637ca1d5b266.png)


##両手のコントローラを設定
次に左右の腕を設定しましょう。
空のGameObjectを作成し「TrackedPoseDriver」をアタッチします。アタッチしたら以下のように設定します。
![キャプチャ11.PNG](https://qiita-image-store.s3.amazonaws.com/0/48820/87fdaa3e-35d2-f107-dce2-725b9d60a8b8.png)

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

同様にしてLeftHも作成します。Positionはそれぞれ0クリアしておきましょう。
![キャプチャ12.PNG](https://qiita-image-store.s3.amazonaws.com/0/48820/d4b9686e-b2b8-3bfb-663e-0cd7fff658b1.png)

モデルを選択しVRIKの「Left Arm」と「Right Arm」のTargetに先ほど作成した「LeftH」「RightH」を設定します。
![キャプチャ14.PNG](https://qiita-image-store.s3.amazonaws.com/0/48820/7d28e402-06a7-6478-0b43-dc3cdfe58b2a.png)

あとは客観的に見えるカメラなんかを配置して再び再生して確認します。
<blockquote class="twitter-tweet" data-lang="ja"><p lang="ja" dir="ltr"><a href="https://t.co/2fZ4rUkhiH">pic.twitter.com/2fZ4rUkhiH</a></p>&mdash; あみださわぐち (@amidaSawaguchi) <a href="https://twitter.com/amidaSawaguchi/status/992061243656617986?ref_src=twsrc%5Etfw">2018年5月3日</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


##課題
どうやっても手首がおかしくなってしまいます。誰か回避策知ってましたらご教示お願いしますm(_ _)m
![キャプチャ15.PNG](https://qiita-image-store.s3.amazonaws.com/0/48820/a24a50c3-182e-9327-e2dc-67b69334807b.png)

↑追記
解決しました。単純にRightH、LeftHに子オブジェくクトを入れて、そのオブジェクトで角度調整 & そのオブジェクトをVRIKのRight ArmとLeft Armに入れればよかった。
![キャプチャ.PNG](https://qiita-image-store.s3.amazonaws.com/0/48820/9c9a3790-e98f-6d2a-7165-70295e775ada.png)


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