
アニメーションⅠ・Ⅱ(アニメーションセットアップ)
■第6回目(後期)
●肩のリギング


肩のコントローラを読み込む。

[読み込み]のオプションで「ネームスペースの使用」をオンにしている場合、ノード名が重複しないように、
オブジェクト名にファイル名が追加されている。
[ウィンドウ]>[一般エディタ]>[ネームスペースエディタ]を使用して、ノード名を整理する。



「leftShoulderController」のピボットポイントは「leftShoulder」ジョイントにスナップしている。
※配布してデータでは、ピボットポイントは設定されているが、自分で作成する場合には設定する。
[修正]>[トランスフォームのフリーズ]を実行する。※コントローラは組み込む前に必ずフリーズする。


「leftShoulderControllerController」⇒「shoulder」ジョイントの順に選択して、[コンストレイント]>[方向]□を実行する。

方向コンストレイントは、デフォルトで「オフセットの保持」がオフになっている。オンに設定して実行する。


「leftShoulderController」を選択して回転して確認する。
肩のジョイントは回転するが、腕のコントローラが追従しないため腕が変形してしまう。


「leftArm_con」⇒「leftShoulderController」の順に選択して、[P]キーでペアレントする。

ジョイントと同じようにコントローラの階層構造によって腕が回転する。


右側の「rightShoulderController」にも同じように設定する。

「spineController」を選択して、上半身を回転させる。
「neck_con」以外の上半身のコントローラが追従しない。
「leftShoulderController」と「rightShoulderController」にペアレントして、
「body_G」グループから外れたためである。


「leftShoulderController」と「rightShoulderController」を選択して、最後に「body_G」グループを
選択して、[P]キーでペアレントする。

これで上半身のコントローラがすべて背骨(spine2ジョイント)に追従する。



「leftShoulderController」と「rightShoulderController」は回転しか使用しないので、[選択項目のロック/非表示]に設定する。
「leftShoulderController」と「rightShoulderController」は回転しか使用しないので、[選択項目のロック/非表示]に設定する。

いかり肩

正常な肩

なで肩
これで肩の高さの調整が可能になる。
●腕のリギング
FKで設定した腕のリギングをIKの設定に変更する。コントローラは、そのまま使用する。



「leftHand_con」の「移動」にロックがかかっている場合は、[ロックを解除]を選択する。
「スケール」 は使用しないので、[選択項目のロック/非表示]を設定する。
右側「rightHand_con」も同様に、「移動」のロックを解除する。

「leftForeArm_con」コントローラを選択して、肘を曲げる方向に回転する。(回転Y)

「leftForeArm」ジョイントを選択して、右ボタンで、[優先回転角に設定する]を選択する。
「lefyForeArm」コントローラを選択して、回転値を0で元に戻す。※ジョイントの回転値ではない。

[優先回転角の設定]は、ジョイントを選択してアトリビュートエディタで確認・修正できる。


右側にも同じように設定する。


腕のジョイントに対して、IKハンドルを設定するので、FKとして設定した「方向コンストレイント」を削除する。
「leftArm」と「leftForeArm」にペアレントしているコンストレイントのノード(orientConstraint)を選択して削除する。
※「leftHand」の方向コンストレイントは残したままである。

ジョイントには方向コンストレイントのみがかかっているので、
[編集]>[種類ごとに削除]>[コンストレイント]で、コンストレイントを削除することもできる。

これで「leftArm_con」と「leftForeArm_con」では、腕、肘は回転しない。


IKは一方向にしか回転しないので、「leftForeArm」ジョイントを選択して、「回転Y」以外はロックをかける。


[スケルトン]>[IKハンドルの作成]□(オプション)を選択し、「ツールのリセット」を実行する。
「現在のソルバ」が「回転プレーンソルバ」になっているのを確認する。


「leftArm」ジョイントと「leftHand」ジョイントをクリックして、IKハンドルを作成する。

IKハンドルは移動すると、元に戻せないので、マイナスフレームの「移動」にキーフレームを設定しておくといい。
※必ず設定しないといけないわけではない。


「ikHandle」(子)⇒「leftHand_con」(親)の順に選択して、[P]キーでペア レントする。
これで「leftHand_con」を移動すると、IKハンドルが移動して肘が曲がる。
「leftHand_con」の移動値を0にすれば元に戻る。


「leftArmPoleVector」⇒「IkHandle」の順に選択して、[コンストレイント]>[極ベクトル]を実行する。


回転プレーンソルバに極ベクトルが設定された。「leftArmPoleVector」を上下に移動すると肘の向きが制御される。


右腕にもIKハンドルを作成する。
「ikHandlei」⇒「rightHand_con」の順に選択して、[P]キーでペアレントする。
「rightArmPoleVector」⇒「ikHandle」の順に選択して、[コンストレイント]>[極ベクトル]を設定する。



間違ってIKハンドルを選択しないように、IKハンドルを非表示にする。
ビューメニューの[表示]から「IKハンドル」のみをオンにする。(一度、「なし」に設定して、「IKハンドル」をオンにする)
すべてのIKハンドルを選択して、チャンネルボックスから「可視性」をオフに設定する。


「leftArmPoleVector」⇒「leftArm_con」の順に選択して、[P]キーでペアレントする。
右側も同じように設定する。


「leftHand_con」⇒移動・回転 移動するとIKハンドルが移動する
「leftArm_con」⇒回転 回転するとFKのように腕が回転する 「leftForeArm_con」⇒回転


これでTVmanと同じように、IKとFKを混在させながら、腕を動かすことができる。
●頭のリギング

[作成]>[カーブツール]>[CVカーブツール]のオプションで「カーブの次数」を「一次」に設定してカーブを作成する。


[修正]>[中央にピボットポイントを移動]を実行する。

「head」ジョイントにスナップ移動する。移動とスケールで調整する。コントローラ名を「head_con」に設定する。


「head_con」コントローラのピボットポイントを「head」ジョイントにスナップする。
[修正]>[トランスフォームのフリーズ]を実行する。


「head_con」⇒「head」ジョイントの順に選択して、[コンストレイント]>[方向]を実行する。


「head_con」を 選択して回転すると頭部が回転する。
「neck_con」を回転すると、ジョイント下位の「head」ジョイントが追従しない。
「head」ジョイントは「head_con」に方向コンストレイントをうけているためである。


「head_con」(子)⇒「neack_con」(親)の順に選択して、[P]キーでペアレントする。

「neack_con」コントローラを回転して、正常に回転するのを確認する。


「head_con」コントローラは回転しか使用しないので、チャンネルボックスで、
「回転」以外は[選択項目のロック/非表示]を設定する。

