鎖骨と肩甲骨のリグ
腕を肩より上にあげると鎖骨や肩甲骨も同時に挙上する。腕を前に突き出すと肩甲骨も前へ移動する。このとき肩甲骨は肋骨に沿って回転する。骨のこのような動きを模倣しないと、モデルを動かしたときにポリゴンが破綻しやすい。
肩甲骨の移動がないリグ
鎖骨だけで十分な場合は IK だけでリグを組める。
ボーンの配置
親子付けされた上腕と鎖骨とが必要だ。
IK の設定
前腕に IK をつける。鎖骨までチェーンの長さを伸ばす。
鎖骨の IK の可動範囲と剛性とを設定する。
肩甲骨のリグ
ボーンの配置
ボーン配置はそれほど特殊ではない。特殊なのは肩甲骨の回転を表現するために鎖骨あたりに回転用ボーン M_pivotBlade.L を配置してあるところだ。階層としては背骨ボーンと肩甲骨ボーンとの間にある。 この回転用ボーンのデフォームを無効にしておく(Pose モードで Shift + W > Deform)。
ローカル座標は重要だ。鎖骨と肩甲骨はローカル X 軸座標で上下に動く。また肘もローカル X 軸座標で曲げるようになっている。
IK の設定
腕の IK に特殊なことはしない。いつものように IK のリグを作成する。
鎖骨と肩甲骨とにIK を設定する。腕の IK ターゲット(T_arm.L という名前だとする)と D_clavicle.L とを選択し、D_clavicle.L に IK をつける。Chain Length: は1。同様に D_blade.L にも IK を設定する。
ここまでで腕と IK 用ボーンが動く。
肩甲骨の回転
肩甲骨の回転は少し複雑だ。肩甲骨を前後方向に回転させるために M_pivotBlade.L を回転させる。 しかし D_blade.L と M_pivotBlade.L の回転軸が違うため M_pivotBlade.L に Transformation を設定することでこれを行う。また D_blade.L 自体は回転してほしくない。なので D_clavicle.L の前後方向の回転を M_pivotBlade.L へ伝えることになる。
肩甲骨の前後方向の回転を設定する。D_clavicle.L と M_pivotBlade.L とを選択し、 Transformation を M_pivotBlade.L につける。ここでは D_clavicle.L の前後(Z軸)の回転を M_pivotBlade.L の Y 軸の回転へ変換する。パラメータはそれぞれ以下の画像のように設定する。
ここまでで鎖骨と肩甲骨とが IK に追従して回転するようになる。現状では肩甲骨自体も回転している。
回転の制限
あとは D_clavicle.L と D_blade.L との IK の可動範囲を制限し、M_pivotBlade.L に Limit Rotation をつけるだけだ。IK の可動範囲は Properties > Bone > Inverse Kinematics で設定できる。それぞれ以下のように設定する。回転量は自由に変更できる。