前回触れたIK(Inverse Kinematics)の設定方法と簡単なアニメーションの設定方法を説明していきます。
Step 1
前回、ウェイトペイントしたところからの続きです。ウェイトペイントモードからオブジェクトモードに戻ります。アーマチュアを選択します。選択したボーンがポーズモードの水色になっているはずです。
例えば、図のように足を動かそうとすると、Leg_upper_L、Leg_lower_L、Foot_Lの3つのボーンを動かさないといけません(「R」キーまたは「G」キーで)。これは面倒です。
[GARD]
そこで、IKという仕組みを使います。足の部分にIKを設定すると、ひとつのボーン(ターゲットとなるボーン)を動かすだけで、足全体を動かすことができます。つまり、ターゲットなるボーンの動きに追従するようにIKが設定されたボーンとその親たち(設定による)が動きます。具体的な動きは後で動画を載せてますので、そちらで。まずは設定方法から説明します。
Step 2
動かしたボーンがあるなら、それを選択して、「Alt」+「R」キー(または「Alt」+「G」キー)で元の位置に戻します。「Tab」キーでボーンの編集モードに移ります。現在のフレームは1フレームにします(前の章でのアニメーション設定が残っているため)。Foot_Lボーンを選択して、テンキーの「3」キーを押します。「Shift」+「D」キーで複製したボーンを図のように下に配置します。このボーンの名まえをctrl_leg_Lとします。
Step 3
プロパティ・エディターの「ボーン」タブを開き、表示された「関係(Relations)」パネルの「親(Parent)」という部分にLeg_lower_Lと表示されているので、その横にある「×」ボタンを押します。
Step 4
右足側にも同じボーンが出来ているので、ボーン名をコピペして、「W」キーを押し、「ボーン名反転」を実行して、名前をctrl_leg_Rにします。そして、「関係」パネルで「親」の設定を解除してください。
Step 5
膝の部分を選択して、少し前方に動かします。これをやっておかないと、IKで動かそうとしても足のボーンが突っ張ってしまって膝が曲がらなくなります。
Step 6
「Tab」キーでポーズモードに移り、Leg_lower_Lボーンを選択し、プロパティ・エディターの「ボーンコンストレイント」タブを開きます。表示された「ボーンコンストレイント追加(Add Bone Constraint)」リストから「インバースキネマティクス(IK)」を選択します。(なお、IKのショートカットキーは「Shift」+「I」キーです)
Step 7
表示されたパネルの「ターゲット(Target)」の部分をクリックして、Armatureを選択。その下の「ボーン」ではctrl_leg_Lを選択します。これはIKのターゲット(追従する相手)をctrl_leg_Lにする設定です。
すると、図のようにおかしな形になりますが、まだ設定が完了していないので無視して先を続けます。
Step 8
IKによる影響がIKを設定したボーンを含めて親の方向にいくつまでのボーンに作用させるかを設定します。ここでは太もものボーンまでなので、IKを設定したボーンを含めて2つとなります。「IK」パネルの「チェーンの長さ(Chain Length)」に2を設定します。
Step 9
テンキーの「3」キーを押して視点を変えます。ctr_leg_Lを選択して、「G」キーで動かしてみましょう。足らしい動きがこのボーンを動かすだけで設定できました。が!ゴキッ!!膝が反対方向にも曲がってしまいます・・。これを次のStepから修正していきます。
Step 10
「Tab」キーを押して編集モードに移ります。ctrl_leg_Lを選択して、「E」キーで図のように新しいボーンを押し出します。
Step 11
追加したボーンの名前をpole_leg_Lにします。また「関係」パネルで「接続」のチェックを外します。
Step 12
同様に右足の方も名前をコピペ、「ボーン名反転」でpole_leg_Rにして、接続を解除します。
Step 13
pole_leg_Lを選択して、テンキーの「3」キーを押します。そして、「G」キーで図のように膝の前辺りに動かします。
Step 14
「Tab」キーでポーズモードに戻り、Leg_lower_Lを選択します。プロパティ・エディターの「IK」パネルで「ポールターゲット」にArmatureを、「ボーン」にpole_leg_Lを設定します。
この状態で3Dビューを見ると、足があっち向いてます。超内股!
Step 15
この原因はIKの設定したボーンとポール(pole_leg_L)の位置関係にあります。IKの設定したボーンのX軸方向がポールの方向というのがデフォルトの設定です。IKを設定したボーンのX軸方向をポールの方向にするには、IKを設定したボーンのY軸周りに-90度回転させるとポールの方向に向くので(+Y軸方向が下向きだから)、「IK」パネルの「ポールの角度(Pole Angle)」に-90と入力して修正します。
Step 16
では、ctrl_leg_Lを選択して、動かしてみましょう。大体の動きはこれで膝の向きが前に向くようになったはずです。ただし、足を極端に後ろにあげたときは、はやり逆に曲がってしまいます。そのときは、pole_Lを移動させてあげれば膝の向きを変えられます。
Step 17
右足にも同じようにIK設定を行えば完成です。ポール設定でのボーン名の指定の部分は右足のボーンを設定してください(それくらい言わないでも分かるか)。
Step 18
これまでの章の説明で行ったアニメーション設定により、キャラクターが水平移動するキーフレームが既に設定されています。このままだと、アーマチュアの動き以外にその既に設定した動きが加わってしまい、アーマチュアからキャラクターが外れてしまうので、次の手順で既に設定したものは削除して、アーマチュアのみでキャラクターを動くようにします。
キャラクターを選択し、3Dビューのヘッダーにあるエディタータイプ・メニューからグラフエディターを選択します。そして、左側のツリーで「Location」の「X位置」を選択すると、そのグラフがハイライトされるので、どのグラフがX位置のものなのか分かります(グラフを選択して、「N」キーを押したときに表示されるパネルでも分かります)。
Step 19
右側のグラフの領域では全キーフレームが選択されている状態なので、X位置のグラフのキーフレームのひとつをマウス右クリックします。
Step 20
「L」キーを押すと、つながっているX位置のキーフレームを全て選択することができます。現在のフレームが1フレーム目にあることを確認してから、その状態で「X」キーでX位置に設定されたキーフレームを削除します。他のフレームにいる状態(キャラクターが動いた状態)でキーフレームを削除すると、その位置のままキャラクターが置かれることになるため、これはアーマチュアと同じ位置にいさせるためです。マテリアルのキーフレームはそのままにしておきます。
グラフエディターを3Dビューに戻します。
Step 21
ここからはキャラクターを動かすための設定です。同じ振付けをする必要はないですが、以下にサンプルとして、少し設定したところを書きます。
現在のフレームを1フレームであることを確認して、ボーンを選択してから、「A」キーを2回押して、全ボーンを選択します。この位置を初期位置にするので「I」キーを押し、「位置/回転」を選択します。
Step 22
8フレーム目に移動して、腕を図のように下します。動かたボーン全てに「I」キー「位置/回転」を選択してキーフレームを設定します。次のStepでChestボーンを使ってお辞儀させるので、最初の位置であるこの8フレーム目でChestボーンにキーフレームを設定します。こうしないと、Chestボーンに設定した最初のキーフレームは1フレーム目なので、腕を下している間にお辞儀が始まってしまいます。そのため、8フレーム目からお辞儀を開始するためにここにキーフレームを設定する必要があります。
Step 23
25フレーム目に移り、Chestボーンを選択して、図のように回転させてお辞儀させた姿勢にキーフレームを設定します。
Step 24
37フレーム目に移り、「Alt」+「R」キーで姿勢を起こします。この状態でキーフレームを設定します。
Step 25
上図まではマニピュレータを表示してこなかったですが(見やすいように)、マニピュレータを使ってボーンの回転を制御するのもやり易いです。そのとき、マニピュレータが作用する座標系をローカル座標にするとボーンの向きに合っているのでいいです。
また、「Alt」+「A」キーでプレビューさせてみて、動きを確認しながらキーフレーム設定を行います。といった感じで好きなように振付をしてください。
以下がサンプルで作成した動画です。アニメーションの設定はグラフエディターで確認することができます。ここでキーフレーム位置の移動や削除といった編集、動きを示すグラフの曲線の形を編集することができます。
アニメーションの設定には他にも語りつくせないくらい、豊富な機能があります。これらについても「Blender2.6マスターブック」で説明しているので、興味のある方はご参照ください。