VRChat で使っているアバターは実は VRChat 以外にも使えるので、
有効活用していきたいシリーズ。
目標は VRChat みたいに良い感じに動かしたい。
今日は VRIK を使って、自分の動きに合わせてアバターも動かしてみます。
前提環境
- Unity Personal 2019.2.14f
- Windows 10
- SteamVR が対応している HMD
- SteamVR 関連が設定済みの Unity Scene
使用するアセットは次の通り
- Final IK 1.9
- 今 (記事投稿時点) 半額になっているので、半額のうちに買いましょう
- SteamVR Plugin 2.5.0 (SDK 1.8.19)
また、前回設置した鏡 も、動作確認の為に設置してあります。
この記事ではアバターを操作する人間とアバターとの体格差は未解決です。
SteamVR と VRIK を使って動かす方法は、チュートリアルを参考にします。
まず、任意の 3D モデルを Hierarchy 上に読み込み、 Root に VRIK をアタッチします。
Humanoid に従っているならば、 References のところが全て自動設定されているので、
設定されているかを確認しておきます。
設定されていたら、次に読み込んだ 3D モデルのボーンを遡ります。
ボーンの中から、頭 (Head)、 手 (腕じゃないよ) をそれぞれ複製します。 次に、複製したオブジェクトをそれぞれ [CameraRig]
オブジェクトの中にある、
Camera
および Controller (left / right)
の子として設置します。
こんな感じになっているはず (名前はそれらしいものに変更済み)
次に、それぞれのオブジェクトの Position を (0, 0, 0)
に設定します。
ずれたままだと、なんとも言えない感じの動作をします。
私の使っていた 3D モデルの場合、 Rotation もいじりましたが、
今のままだと手首がうまく動いていないので、後で (いつか) 修正します。
最後に、 VRIK の Spine の Head Target、 Left / Right Arm の Target に、
先ほど設定したオブジェクトを設定してあげれば良い感じに動きます。
といった具合で Final IK の設定でした。