
アニメーションⅠ・Ⅱ(アニメーションセットアップ)
■Bonusレッスン
●TVmanのセットアップ
●ペアレントコンストレイント




腕、足を曲げたときに、変形しない場合はバインドする必要はない。(ロボット、人形などの関節構造のキャラクター)
※このセットアップは、バインドしたキャラクターにも使用することができる。
ジョイント⇒オブジェクトの順に選択して、[コンストレイント]>[ペアレント]を実行する。
それぞれのジョイント⇒それぞれのオブジェクトに実行する。
※オブジェクト⇒ジョイントの順の選択して、[P]キーでペアレントでも可能だが、
オブジェクトがジョイントの中に入ってしますので、管理・修正が困難になるので、コンストレイントを使用する。


L_hip⇒L_L_Leg01
L_knee⇒L_Leg02
L_ankle⇒L_Foot01
L_ball⇒L_Foot02
L_arm01⇒L_Arm01
L_arm02⇒L_Arm02
L_hand01⇒L_Hand01
L_hand02⇒L_Hnad02
L_hand03⇒L_Hand03
root⇒Body01
spine01⇒Body02
spine01⇒Body03※
spine02⇒Body04
head⇒Head


各ジョイントを回転して、確認する。ジョイントの回転値を0にして戻す。
●空ノードの作成


[作成]>[空のグループ]を選択する。「null1」という空のグループが作成される。
nullのオブジェクト名を「L_ball_null」、「L_heel_null」に変更する。


「L_ball_null」は、「L_ball」ジョイントにスナップ([Vキー])して移動する。


「L_heel_null」は、踵(かかと)の位置に移動する。
まずは、「L_ball」ジョイントにスナップしてから、踵の頂点に対して、Z軸方 向のみスナップ移動する。
2つのnullしを選択して、[修正]>[トランスフォームのフリーズ]を実行する。

nullを作成して、nullのピボットポイントを移動する方法もある。
この場合は、フリーズを実行しなくても、移動・回転・スケール値は初期化されている。
●足のセットアップ


非表示になっているコントローラを表示する。「Contrl」グループの「可視性」をオンにする。

足のコントローラを確認する。

「L_toe_C」のピボットポイントは、「L_ball」ジョイントにスナップされている。

「L_foot_C」のピボットポイントも、「L_ball」ジョイントにスナップされている。

IKハンドルを作成する前に、曲がる方向にジョイントを回転する。(回転Yのみ)
「L_knee」ジョイ ントを選択して、膝を曲げる方向に回転する。
ジョイントの上で、右ボタンクリックして、「優先回転角に設定する」を選択する。
※チャンネルボックスの回転Yを0にして、元に戻す。


リギングのメニューセットから、[スケルトン]>[IKハンドルの作成□(オプション)]を選択する。
「現在のソルバ」には「回転プレーンソルバ」と「シングルチェーンソルバ」の2種類がある。

ジョイントとジョイントをクイックして、IKハンドルを作成する。
AのIKハンドルは「回転プレーンソルバ」、BとCのIKハンドルは「シングルチェーンソルバ」で作成する。


左足のコントローラ(L_foot_C)とnullの階層構造を設定する。
「L_ball_null」(子)⇒「L_toe_C」(子)⇒L_hell_null(親)の順に選択して、[P]キーでペアレントする


L_heel_null(子)⇒L_Heel_Toe_C(子)⇒L_foot_C(親)の順に選択して、[P]キーでペアレントする。

3つのIKハンドルを階層構造に設定する。
IKハンドルA(ikHandle1)⇒L_ball_nullの順に選択して、[P]キーでペアレントする。
IKハンドルB(ikHandle2)⇒L_heel_nullの順に選択して、[P]キーでペアレントする。
IKハンドルC(ikHandle3)⇒L_toe_Cの順に選択して、[P]キーでペアレントする。


「L_foot_C」を選択して、移動する。IKハンドルが働いて、膝を曲げることができる。


「L_heel_null」を選択して回転するとつま先が上がる。「L_ball_null」を選択して回転すると踵が上がる。
「L_heel_null」と「L_ball_null」でコントロールするのは面倒なので、コントローラ「L_Heel_Toe_C」に組み込む。


ドリブンキーを設定するために、「L_Heel_Toe_C」の「移動Z」以外のチャンネルをロックする。

アニメーションメニューセットから、[キー]>[ドリブンキーの設定]>[設定□]を選択する。

「L_Heel_toe_C」を「ドライバ」にロード、「L_ball_null」を「ドリブン」にロードする。
「L_Heel_toe_C」の「移動Z」、「L_ball_null」の「回転X」を選択して、「キー」をクリックする。

L_Heel_Toe_C の移動 Z⇒0
L_ball_null の回転 X⇒0

L_Heel_Toe_C の移動 Z⇒0.4
L_ball_null の回転 X⇒30

「L_heel_con」を「ドライバ」にロード、「L_heel_null」を「ドリブン」にロードする。
「L_heel_con」の「移動Z」、「L_ball_null」の「回転X」を選択して、「キー」をクリックする。

L_Heel_Toe_C の移動 Z⇒0
L_heel_null の回転 X⇒0

L_Heel_Toe_C の移動 Z⇒-0.4
L_heel_null の回転 X⇒-20

コントローラ「L_heel_Toe_C」の移動に制限をかける。


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

「L_knee_C」を左右に(移動X)移動すると、膝の方向を制御することができる。


「L_knee_C」⇒「L_foot_C」を選択して、[P]キーでペアレントする。

同じセットアップを右足側にも行う。


「R_foot_C」を移動すると、IKハンドルによって膝を曲げて足を上げることができる。


「R_Heel_Toe_C」を移動すると、ドリブンキーによって踵(かかと)とつま先の制御ができる。

「R_knee_C」を移動(移動X)すると、極ベクトルによって、膝の向きを制御することができる。
●腕のリギング

IKハンドルを設定するために、優先回転角の設定を行う。
「L_arm02」ジョイントを選択して、肘を曲げる方向に回転する。(回転Z)
チャンネルボックスで回転値を0に戻す。


リギングのメニューセットから、[スケルトン]>[IKハンドルの作成□(オプション)]を選択する。
「現在のソルバ」を「回転プレーンソルバ」に設定する。


「L_arm01」ジョイントと「L_hand01」ジョイントをクリックして、IKハンドルを作成する。
移動ツールでIKハンドルを移動すると、肘が曲がる。確認したら[Z]キーで元に戻す。

「L_arm_C」⇒「IKハンドル」の順に選択して、[コンストレイント]>[ポイント□]を選択する。


「オフセットの保持」をオンに設定して実行する。


「L_arm_C」のみを選択して、移動する。IKハンドルを移動するのと同じように肘を曲げることができる。
コントローラの場合は、チャンネルボックスで移動値を0,0,0にすれば元のポーズに戻る。


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


「L_arm_C」を移動して肘を曲げて、「L_elbow_C」を移動(移動Y)すると、肘の向きを制御することができる。


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

「設定のリセット」を行って、「オフセットの保持」をオンに設定して実行する。

「L_arm_C」のみを選択して、回転すると手首が回転する。

「L_arm_C」を移動、回転することで、腕、肘の制御ができるようになる。


「L_arm_C」を移動、回転することで、腕、肘の制御ができるようになる。
コントローラにフリーズを実行しているので、移動値、回転値を0,0,0にすれば元に戻る。


「スケルトン」>[IKハンドルの作成□]を選択する。
「現在のソルバ」を「シングルチェーンソルバ」に設定する。


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

「L_shoulder_C」のピボットポイントは、「L_shoulder」ジョイントにスナップされている。


「L_shoulder_C」⇒IKハンドル(シングルチェーンソルバ)の順に選択して、
[コンストレイント]>[ペアレント□]を選択して、「オフセット保持」がオンになっているのを確認して実行する。

「L_shoulder_C」のみを選択して、回転する。型が上下に動くのを確認する。
同じセットアップを右腕側にも行う。


「R_arm_C」を移動すると、IKハンドルによって肘が曲がる。
肘を曲げた状態で、「R_elbow_C」を上下に移動すると、曲がった肘の向きを制御できる。

「R_arm_C」を回転すると、手首を回転することができる。

「R_shoulder_C」を回転すると、肩を上下に動かすことができる。
●胴体のリギング

ジョイントとコントローラを確認する。「sipne01」ジョイントと「root」ジョイントは同じ位置にある。


「Head_C」⇒「head」ジョイントの順に選択して、[コンストレイント]>[方向]を実行する。
「Head_C」のみ選択して回転すると、首が回転する。


「Body02_C」⇒「spine02」ジョイントの順に選択して、[コンストレイント]>[方向]を実行する。
「Body02_C」のみ選択して回転すると、胸が回転する。※ここでは他の部分は追従しない


「Body01_C」⇒「spine01」ジョイントの順に選択して、[コンストレイント]>[方向]を実行する。
「Body01_C」のみ選択して回転すると、腰の上が回転する。※ここでは他の部分は追従しない


「Waist_C」⇒「root」ジョイントの順に選択して、[コンストレイント]>[方向]を実行する。
「Waist_C」のみ選択して回転すると、腰だけが回転する。


「root」ジョイント⇒「spine01」ジョイントの順に選択して、[コンストレイント]>[ポイント]を実行する。
これで「spine01」ジョイントは、「root」ジョイントの移動に追従する。


「Root_C」⇒「root」ジョイントの順に選択して、[コンストレイント]>[ポイント]を実行する。
「Root_C」のみを選択して移動すると、膝を曲げて腰を下に降ろすようになる。


胴体のコントローラの階層構造を設定する。
「Head_C」⇒「Body02_C」の順に選択して、[P]キーでペアレントする。
「Body02_C」⇒「Body01_C」の順に選択して、[P]キーでペアレントする。
「Body01_C」⇒「root」の順に選択して、[P]キーでペアレントする。
「Waist_C」⇒「root」の順に選択して、[P]キーでペアレントする。



腕のコントローラの階層構造を設定する。
「L_arm_C」⇒「L_elboe_C」⇒「L_uper_arm_C」の順に選択して、[P]キーでペアレントする。
「L_uper_arm_C」⇒「L_shoulder_C」の順に選択して、[P]キーでペアレントする。


「L_uper_arm_C」を選択して回転すると、FKで回転することができる。


右腕側のコントローラにも同じように階層構造を設定する。
「R_arm_C」⇒「R_elboe_C」⇒「R_uper_arm_C」の順に選択して、[P]キーでペアレントする。
「R_uper_arm_C」⇒「R_shoulder_C」の順に選択して、[P]キーでペアレントする。


胴体と腕のコントローラに階層構造を設定する。
「L_shoulder_C」⇒「R_shoulder_C」⇒「Body02_C」の順に選択して、[P]キーでペアレントする。
「R_uper_arm_C」⇒「R_shoulder_C」の順に選択して、[P]キーでペアレントする。


「Root_C」を移動すると、膝を曲げて腰を下ろすことができる。腕も追従する。


胴体と腕のコントローラの階層構造によって、背骨と腕が連動して制御できるようになる。
●指のリギング


指のリギングは、コントローラで制御するのではなく、コントローラにアトリビュートを追加して、
数値によって制御する設定を行う。※ドリブンキーでコントローラによって制御することも可能。

「L_arm_C」コントローラを選択して、チャンネルボックスの[編集]>[アトリビュートの追加]を選択する。

「新規」タブをクリックする。
「ロングネーム」⇒「Finger」
「データ型」⇒「float」
「最小」⇒「-1」
「最大」⇒「10」
「既定」⇒「0」
「OK」をクリックする。

さらに、[編集]>[アトリビュートの追加]を選択する。
「ロングネーム」⇒「Thumb」
「データ型」⇒「float」
「最小」⇒「0」
「最大」⇒「10」
「既定」⇒「0」
「OK」をクリックする。


「Finger」と「Thumb」のアトリビュートが追加された。
この数値を変更することで、ドリブンキーによってジョイントが回転する設定を行う。

ドリブンキーの設定ウィンドウで、ドライバに「L_arm_C」コント ローラ、
ドリブンに「L_hand02」ジョイントをロードする。
ドライバ「L_arm_C」の「Finger」、ドリブン「L_hand02」の「回転Z]を選択する。

ドライバ:「L_arm_C」の「Finger」⇒0
ドリブン:「L_hand02」の「回転Z」⇒0
「キー」ボタンをクリックする。(1回目)

ドライバ:「L_arm_C」の「Finger」⇒10
ドリブン:「L_hand02」の「回転Z」⇒-120
「キー」ボタンをクリックする。(2回目)

ドライバ:「L_arm_C」の「Finger」⇒-1
ドリブン:「L_hand02」の「回転Z」⇒30
「キー」ボタンをクリックする。(3回目)

チャンネルボックスの「Finger」を選択して、3Dビュー内で、マウスの中ボタンでドラッグする。
「Finger」の数値をインタラクティブに変更することができる。


ドリブンに「L_hand03」ジョイントをロードする。
ドライバ「L_arm_C」の「Thumb」、ドリブン「L_hand03」の「回転Z]を選択する。

ドライバ:「L_arm_C」の「Thumb」⇒0
ドリブン:「L_hand0」の「回転Z」⇒0
「キー」ボタンをクリックする。(1回目)

ドライバ:「L_arm_C」の「Thumb」⇒-1
ドリブン:「L_hand0」の「回転Z」⇒-150
「キー」ボタンをクリックする。(2回 目)

右側「R_arm_C」にも同じ設定を行う。チャンネルボックスで2つのアトリビュートを追加する。
ドリブンキーの設定ウィンドウで、ドライバに「R_arm_C」コントローラ、
ドリブンに「R_hand02」ジョイントをロードする。
ドライバ「R_arm_C」の「Finger」、ドリブン「R_hand02」の「回転Z]を選択する。
ドライバ:「R_arm_C」の「Finger」⇒0
ドリブン:「R_hand02」の「回転Z」⇒0
「キー」ボタンをクリックする。(1回目)

ドライバ:「R_arm_C」の「Finger」⇒10
ドリブン:「R_hand02」の「回転Z」⇒120
「キー」ボタンをクリックする。(2回目)

ドライバ:「R_arm_C」の「Finger」⇒-1
ドリブン:「R_hand02」の「回転Z」⇒-30
「キー」ボタンをクリックする。(3回目)

ドリブンに「R_hand03」ジョイントをロードする。
ドライバ「R_arm_C」の「Thumb」、ドリブン「R_hand03」の「回転Z]を選択する。
ドライバ:「R_arm_C」の「Thumb」⇒0
ドリブン:「R_hand0」の「回転Z」⇒0
「キー」ボタンをクリックする。(1回目)

ドライバ:「R_arm_C」の「Thumb」⇒-1
ドリブン:「R_hand0」の「回転Z」⇒150
「キー」ボタンをクリックする。(2回目)
●コントローラの統合

左足、右足、上半身それぞれの設定はできたが、バラバラなので全体として移動、回転することができない。

左足「L_foot_C」、右足「R_foot_C」、上半身「Root_C 」を全体のコントローラ「All」にまとめる。



「L_foot_C」⇒「R_foot_C」⇒「Root_C」⇒「All」の順に選択して、[P]キーでペアレントする。
最後に選択したノードが親になる。

「All」コントーラによって、全体の移動、回転が可能になる。
●コントローラのロック

セットアップは完了したが、キーフレームを設定してモーションを制作するために、作業の効率化のために
コントローラの不要なアトリビュートにロックを設定する。

L_foot_C(R_foot_C)
スケールXYZをロック

L_toe_C(R_toe_C)
回転X以外をロック

L_knee_C(R_knee_C)
移動以外をロック

L_arm_C(R_arm_C)
スケールXYZをロック

L_elbow_C(R_elbow_C)
スケールXYZをロック

L_uper_arm_C(R_uper_arm_C)
回転以外をロック

L_shoulder_C(R_shoulder_C)
回転YZをロック

Head_C
回転以外をロック

Body02_C
回転以外をロック

Body01_C
回転以外をロック

Waist_C
回転以外をロック

Root_C
スケールXYZをロック


オブジェクトのグループ「Body」を選択して、ディスプレイレイヤで「選択したオブジェクトの追加」を実行する。

パースビューのビューメニューから[表示]を選択して、「ジョイント」と「IKハンドル」をオフに設定する。
※必要であれば、他のビューでも設定する。

これらの設定により、3Dビューでドラッグすると、コントローラ(NURBSカーブ)のみが選択される。
各コントローラのアトリビュートはロックされているので、[S]キーでキーフレームを設定することもできる。
これで、TVmanのセットアップは完成です。不合格の人は、このデータを提出してください。
※ファイル名を指示通りに変更するのを忘れないように注意してください。