Technology Blog
技術ブログ
2018.10.15
Unity3D+IK(Inverse Kinematics)のAnima2Dチュートリアル
Blogをいつもご覧いただきありがとうございます。
前回は「Unity3D+Anima2Dチュートリアル」というテーマの記事を投稿しました。
今回はAnima2dのInverse Kinematicsについて説明したいと思います。
Inverse Kinematicsとは何ですか?
Anima2Dには、Inverse Kinematicsのコンポーネントがあります。これを使い、親関係のボーンオブジェクトの子供を動かすと、親も連動し動きます。
例を挙げると、腕と肩の関係のようなものです。(以下省略”IK”です)。
シンプルなアニメーションは、ボーンをいじるだけで充分ですが、もしアニメーションが複雑な場合はかなり時間がかかると思います。
そういう場合は「IK」が便利です。移動させたいボーンを「IK」と繋げればこのボーンのチェーンを丸ごと動かすことができとても便利です。
IKの種類は?
Anima2DのIKには,IK CCDとIK Limb という2種類のIKがあります。
IL Limbは骨を2本しかコントロールできません、余弦定理ですので、今回の場合手足に利用します。
IK CCD は設定に応じて、最大コントロールできる本数がルートボーンまでの全部の骨をコントロールすることができます。今回の場合頭と尻尾に使います。
では、前回の引継き、IKの使い方を説明します。
IKをの使い方を説明する前に、先ずAnima2Dの効率をアップでさせる機能を紹介したいと思います。
「PoseManager」というものです。
使い方はとても簡単です。下記の画像のように、前回の「牛」のオブジェクトに「Pose Manager」を入れれば、使えるようになるはずです。
そして、「Create new pose」をクリックしたら、今のスプライトのポジションとローテーションがセーブできます。
一つの「Idle」のポーズを「Save」をクリックしてから、後はどんな調整しても、ただ「Load」ボタンをクリックしたら、最初設定のポーズに戻れます。(ちなみに、「Save」はオーバライドしますので、ご注意ください。)
「Pose Manager」の使い方はここまでです。
それでは、「IK」の使い方の説明に入りましょう。
Step 1: IKをクリエイトします
「牛」のオブジェクトの中に、もう一個の空のオブジェクトを作って、名付け「IK」です。
下記の画像のようにそのオブジェクトに右クリックして、「2D Object」→「IK Limb」をクリックしたら、「IK」が出ます。
では、「IK」のパラメータを説明しましょう。
- Record:アニメーションモードの間,ボーンのキーフレームを記録します。
- Target: IKが適用されるボーン。
- Weight:IKのポーズに対する影響度。
- Restore Default Pose: 計算を実行する前に最初のポーズを設定します。
- Orient Child:ターゲットの子ボーン(使用可能な場合)をIKローテーションに回転させます。
- Num bones:IKの影響を受けるボーンの数.最大はルートボーンまで。
- Iterations: solverの反復回数。
- Damping:ソルバのステップ速度を制御する.値が小さいと変化が見やすい,大きいと変化が見にくいです。Dampingの値が大きければ、もっと自然に見えるかもしれません。
Step 2:「IK」をコントロールしたい関節に配置します
下記の画像のように、三つの「IK」をクリエイトして、分かりやすい名前を付けてから、それぞれにコントロールしたいところに置いてください。
上記の説明の通り、「頭」の部分には、使っているのはIK CCDです。
お気付きだとおもいますが、このグレーのリングを自分が望んでいる所に配置しても、スプライトはまだコントロールできません。
なぜかというと、下記の画像表示の通りに、右側の「Inspector」の「Target」はまだ「None」になっていますので、コントロールできるオブジェクトはまだありません。
では、「Target」に相応の「Bone」オブジェクトに入れてみてください。
設定が終了したら、グレーのリングは青のリングに変わります。
では、下記の画像の手順通りにすれば、左側のコントロールしたい「IK」のオブジェクトをクリックして、右側のリングを移動したら、「牛」全身が一緒に動きます。
注意点:偶にリングを移動しても、欲しい角度に合わせられない場合があったら、下記の画像の状態で「IK」の「Inspector」の「Filp」のチェックを入れてから、もう一度調整すれば、合わせられると思います。
適用後の図:
これで、「IK」のリングを弄れば、簡単に関節が調整できるようになりました。
複雑なボーンが入っているスプライトでは、「IK」はとても役に立ちます。
今回のインバース キネマティクス(IK)の使い方はここまでになります。
では皆さん、次回の内容をご期待ください!