【初心者入門】FinalIK(VRIK)を使って3Dキャラクターを自由自在に動かすには?

Unityの大人気アセット、FinalIK。FinalIKを使うことでUnityで自由にキャラクターを動かせるようになります。Oculus Rift や HTC Vive などのVR機器を使ってキャラクターを動かすこともできるので、多くのバーチャルYouTuber(VTuber)・バーチャルライバーさん達が使っているアセットです。

Final-IKの入手とダウンロード

Final-IKのダウンロードは、Unity Asset Store からできます。年に数回半額セールなどもやっているので、セールのタイミングで購入するとかなりお得に手に入ります。

 

Final-IK のインストール

Unityアセットストアで購入後、アセットストアページから「インポート」ボタンを押すことで、Unityプロジェクトにインストールができます。

Final-IKの基本的な使い方

Final IK がどんなものかとりあえず使ってみたい場合は、以下の4ステップが簡単です。

  1. キャラクターモデルに、Full Body Biped IK か、 VR IK コンポーネントをアタッチする。(※Final IKがインストールされていないと使えません)
  2. IK を有効にしたい部位の Position WeightRotation Weight を 1 にする。
  3. 再生ボタンを押す。
  4. Full Body Biped IKを組み込んだ場合、シーンでキャラクターを選択すると、IK を有効にした部位に青い立方体が表示されるので、そのオブジェクトを動かすと、オブジェクトを起点に体全体が動きます。

Final-IKで使えるIKの種類

  1. Full Body Biped IK
  2. VRIK
  3. FABRIK

など多数。

OculusRift と VRIK を組み合わせて動いている3Dキャラクター動画

OculusRift の ヘッドトラッキングと、Touch コントローラで手の位置を取得し、その情報を使って、VRIKでキャラクターの各部位を動かしている様子。OculusRift + VRIKで3Dモデルキャラクターを動かすには、Unity+OculusRiftでMMDキャラクター(初音ミク)の頭・上半身・手・全身を動かす方法を参考に。

VR IK コンポーネントの使い方

VRIKコンポーネントを、キャラクターモデルにアタッチすれば、準備は完了。

両足の開きぐらいを修正するには?

VRIKコンポーネントをアタッチし再生すると、足が開いた状態になることがある。この修正方法は、Locomotion の FootDistance のパラメータを調整する。標準では0.3だが、これを0にすると、足の開く幅が狭まる。また、Locomotion の Weight の値を小さくしたり、 Solver の IK Position Weight を小さくしたりすることでも、調整ができる。

肘など関節が反対方向に曲がってしまう問題は、可動範囲の設定をする

Final IK アセット内にある、Rotation Limit Hinge コンポーネントを、肘のボーンにアタッチして調整できる。Rotation Limit Hinge に関する公式サイトの解説は、 Rotation Limitsを参考に。

VRIK の Solverの意味と設定について

Final IK の VRIK の Solver にある各値の説明にまとめられている。

キャラクターを思い通りに動かすためのパラメータ調整の優先順序

VRIKで思いどおりにキャラクターを動かすには、以下の順序でパラメータ調整をしていくとよい。

  1. Solver の IK Position Weight は全身の挙動に影響を与える。
  2. 各部位の Position Weight, Rotation Weightは、対象部位を動かしたときに影響を与える。
  3. Locomotion の Weight は、全身の物理演算に影響を与える。

 

アニメーションとの連動

手にアイテムを持たせるには?

座らせるには?

チュートリアル動画一覧

FINAL IK TUTORIALS - YouTube

Unityの超便利プラグイン「FinalIK」

VRChatでFinalIKを使うには

遅延追従をさせるには?

FinalIK + VRM関連