セットアップ
IK(インバースキネマティクス)の設定〈Empty〉
キャラクターのアニメーションやポージングの下準備として行うセットアップ。そのセットアップの基本とも言える階層構造(関節)の構築ですが、親子関係の設定には、FK(フォワードキネマティクス)モードとIK(インバースキネマティクス)モードの2種類があります。
〈FK(フォワードキネマティクス)〉
通常、BlenderでArmature(ボーン)を作成すると親から子へ動きが伝わるFKモードとなります。子のボーンに関しては、回転のみ行うことが可能です。
〈IK(インバースキネマティクス)〉
FKモードとは逆に子から親へ動きが伝わるのがIKモードとなります。特にキャラクターの手足を動かし、アニメーションやポージングを行う際には、このIKモードがよく用いられています。
では早速、IK(インバースキネマティクス)の設定方法を・・・。とりあえず先日投稿した「Armature(ボーン)の作成・適用」のように「Create From Bone Heat」にてオブジェクトとArmatureの関連付けが完了した状態のものを用意します。
まず「Pose Mode」で先端のボーン(Bone_C)を選択した状態で、[Inverse Kinematics] > [Add IK to Bone] を選択。さらに[(Add IK Constraint:)To New Empty Object] を選択します。これで一先ず、IKの設定が完了です。
IKの設定を行ったボーンは黄色に表示され、「Constraints」タブ内には、[IK Solver]が追加されます。[ChainLen]では影響を与える階層を設定することが可能です。
「Empty」を選択し、[G]キーまたはマニュピレータで移動することにより、ボーンをコントロールすることができます。
今回コントロールするにあたって「Empty」を用いましたが、それ以外にも「Bone」を作成しコントロールのTargetとして設定することも可能なようです。その際の利点など現時点ではよくわかりませんが、後日試してみたいと思います。
セットアップ
ウエイトペイントで頂点グループのウエイト値を調整
前回の「Armature(ボーン)の作成・適用」に引き続きArmatureの話題を・・・。
今回は頂点グループのウエイト値をペイントツールを使用して直感的に設定可能な「ウエイトペイント」機能を試してみたいと思います。
前回同様にオブジェクトとそれに合わせたArmatureを用意します。分かり易いように各ボーンの名前を「3D View」上に表示します。表示するには「Armature」タブ内の[Names]を有効にします。各ボーンの名前を変更するには「Armature Bones」タブ内で行います。
こちらも前回同様に「Object Mode」でオブジェクトとArmatureを複数選択します。先にオブジェクトを選択([マウス右クリック])し、続いてArmatureを追加選択([Shift]+[マウス右クリック])します。※選択する順番に注意!
続いて[Parent] > [Make Parent([Ctrl]+[P]キー)]を選択、さらに[(Make Patent To:)Armature] > [(Create Vertex Groups?:)Name Groups]を選択します。前回は[Create From Bone Heat]を選択し、ボーンとの関連付けを自動的に行いましたが、今回は、頂点グループのみを作成する[Name Groups]を選択します。
オブジェクトを選択、「Link and Materials」タブ内の「Vertex Groups」にて各ボーンと同じ名前の頂点グループが作成されているのが確認できます。現時点では未だ頂点グループが作成されただけで、ボーンとの関連付けはされていません。
いよいよ「Weight Paint」モードにて、頂点グループのウエイト値を設定しボーンとの関連付けを行います。
「Weight Paint」モードでは、オブジェクトが青色に表示されます。青色はボーンの影響を全く受けていない状態を表しています。オブジェクト上をドラッグすれば、赤色にペイントできます。赤色はボーンの影響を受けている状態です。
各ボーンに合わせてそれぞれの頂点グループ毎にペイントしてウエイト値を設定します。ペイントサイズ等の設定は「Paint」タブ内で行います。
後は、Armatureを選択し「Pose Mode」モードでボーンを変形し影響度合いを確認します。前回紹介した、自動的に関連付けを行う「Create From Bone Heat」を設定した後でも、「Weight Paint」モードでウエイト値を変更することは可能です。
一度試しただけなのでハッキリは分かりませんが、個人的には「Create From Bone Heat」を設定後「Weight Paint」モードで微調整を行う方法が良さそうに思います。
〈追記〉
今回ご紹介した「ウエイトペイント」機能を使用する際は、「Armature」タブ内「Deform Options」の[Envelopes]を無効にした方が良さそうです。[Envelopes]を有効にしていると設定した頂点グループとは関係なく各ボーンの影響範囲が自動で設定されてしまい不具合が生じる場合があります。無効にすれば頂点グループのみが影響を受けるようになります。
セットアップ
Armature(ボーン)の作成・適用
先日やっと人物(女性)のモデリングが完成したので、いずれ行うキャラクターセットアップ(ボーンの作成・適用)をとりあえず試してみたいと思います。
ロボットのように関節毎にオブジェクトが分かれているモデルとは違い、人物や動物のように全ての面がシームレスに繋がっている場合、可動する関節毎にパーツを分割することができません。その為、骨格に相当するArmature(ボーン)を作成し、そのボーンとオブジェクトを関連付ける必要があります。
今回は、完成した人物(女性)の腕を利用してArmature(ボーン)の作成・適用を行います。まずは、「Object Mode」でArmatureを新規作成します。始めに3Dカーソルをボーンの開始位置に移動し、「Header」(または[Space]キー)から[Add] > [Armature]を選択。
新規作成されたArmatureは上を向いているので、180度回転し下向きに変更。ボーンの先端が間接部分に来るようにサイズも変更します。このままでは、Armatureがオブジェクトの中に隠れてしまい編集しづらいので、「Armature」タブ内「Editing Options」の[X-Ray]を有効にしArmatureが表示されるようにします。
因みに、くさび形の部分を「ボーン」、先端の球体を「Tipジョイント」、反対側の球体を「Rootジョイント」と呼びます。
「Edit Mode」に変更しボーンを追加していきます。「Tipジョイント」を選択した状態で[E]キーを押し、ボーンを追加で作成。先程と同じく各ジョイントが間接部分にくるように編集します。(本来、各指先までボーンを設定しますが今回は省略いたします)
最後にオブジェクトとArmatureの関連付けを行います。まず「Object Mode」に戻り、オブジェクトとArmatureを複数選択します。この際選択する順番に注意してください。先にオブジェクトを選択([マウス右クリック])し、続いてArmatureを追加選択([Shift]+[マウス右クリック])します。
次に[Parent] > [Make Parent([Ctrl]+[P]キー)]を選択、さらに[(Make Patent To:)Armature] > [(Create Vertex Groups?:)Create From Bone Heat]を選択します。これでオブジェクトとArmatureの関連付けが完了です。
因みに「Create From Bone Heat」とは、頂点グループを作成し、各ボーンに追随する頂点をそれぞれのボーンと頂点の距離を元に自動的に関連付けを行ってくれます。
問題なくオブジェクトとArmatureの関連付けが行われているかを確認してみます。操作方法は、Armatureを選択しモードを「Pose Mode」に変更。任意のボーンを選択し[R]キーまたはマニュピレータで回転します。一応、無事にオブジェクトとArmatureの関連付けが設定できました。
次回は頂点への影響度合い(ウエイト値)をさらに細かく、任意で設定可能な「ウエイトペイント機能」を試してみたいと思います。
> ウエイトペイントで頂点グループのウエイト値を調整へ続く