広告
広告

鎖骨と肩甲骨のリグ

カテゴリ:blender

普通腕を肩より上にあげると鎖骨や肩甲骨も同時に挙上する。また腕を前に突き出すと肩甲骨も前へ移動する。このとき肩甲骨は肋骨に沿って回転する。骨のこのような動きを模倣しないと、モデルを動かしたときにポリゴンが破綻しやすい。

この記事ではそれらを自動で行うリグを紹介する。 IK と Limit Rotation と Transformation しか使わないので比較的簡単だ。

動作風景
動作風景

ボーンの初期配置

ボーン配置はそれほど特殊ではない。特殊なのは肩甲骨の回転を表現するために鎖骨あたりに回転用ボーン 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 用ボーンが動く。

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 軸の回転へ変換する。パラメータはそれぞれ以下の画像のように設定する。

Transformation の設定
Transformation の設定

ここまでで鎖骨と肩甲骨とが IK に追従して回転するようになる。現状では肩甲骨自体も回転している。

回転のテスト
回転のテスト

回転の制限

あとは D_clavicle.L と D_blade.L との IK の可動範囲を制限し、M_pivotBlade.L に Limit Rotation をつけるだけだ。IK の可動範囲は Properties > Bone > Inverse Kinematics で設定できる。それぞれ以下のように設定する。回転量は自由に変更できる。

Limit Rotation の設定
IK の可動範囲制限と Limit Rotation の設定

blend ファイルダウンロード

関連記事

Blender 記事の目次


広告
広告