LoginSignup
5
4

More than 5 years have passed since last update.

UnityChan.SpringManagerをVRIKに対応させる

Posted at

ユニティちゃん付属のSpringManangerVRIKと相性が悪かった問題の解決メモ。

ViveやVRIKに関してはこちらを
https://qiita.com/halne369/items/daadf0e00330a1019830

ユニティちゃんの髪揺れに関してはこちらを参照のこと
http://tsubakit1.hateblo.jp/entry/2014/11/08/233000

ユニティちゃん+SpringBone+VRIK

SpringBone付きのユニティちゃんを動かすと

こんな感じで髪が揺れる。

ところが、VRIKをアタッチした状態だと

OnlyVRIK.gif

このようにSpringBoneが動作しない。

SpringManagerの修正

SpringBoneの更新がVRIKの更新より前に行われてしまっているのが原因らしいので、SpringManagerのScript Execution OrderをVRIKより後に設定すれば解決する。

結果

SpringVRIK.gif

もしくはVRIKの更新を自前で行なう。例えばSpringManagerLateUpdate

        private void LateUpdate ()
        {
            var solver = GetComponent<RootMotion.FinalIK.VRIK > ();
            solver.UpdateSolverExternal();

            ...
       }

とすれば正常に動作する。

真面目に考えるとSpringBoneの更新前にtransformが上書きされるのが問題っぽいので、Updateで更新してしまっても良い。

        private void Update ()
        {
            var solver = GetComponent<RootMotion.FinalIK.VRIK > ();
            solver.UpdateSolverExternal();
       }
5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4