dskjal
広告
広告

前腕を回転できる腕のリグ

カテゴリ:blender

Blender のみで完結するなら B-bone の Curved Bones を使うのが一番だ。適当な数の Segment を設定し Ease In/Out を 0 にする。前腕を回転させるときは「ロール:出力:」を設定する。

b-bone setting
B-bone の設定

しかしエクスポートして使うなら Blender 固有の機能を使うわけにはいかない。やり方としては、前腕を2分割し回転専用のボーンを作る。このボーンを IK ターゲットの回転に対応させる。回転の制限と Copy Rotation しか使わないので比較的簡単にできる。

デモ
動作デモ

ボーンの初期配置

以下の画像のようにボーンをセットアップする。手首あたりにあるのは IK ターゲットでデフォーム用ボーンとはつながっていない。

ボーンの構造
ボーンの構造

IK の設定

P_arm.L をポールターゲット、T_arm.L を IK ターゲットとして D_rotLowerArm.L に IK を設定する。 その時の Chain Length: を3にする。

前腕の回転の制限

このままでは IK で動かした際に前腕が曲がってしまうので D_rotLowerArm.L の回転を制限する。Properties > Bone > Inverse Kinematics で X 軸と Z 軸の回転をロックする。

回転の制限
D_rotLowerArm.L の回転を制限する

ここで Y 軸まわりの回転も制限できるが、T_arm.L に Limit Rotation をつける方がよい。なぜなら回転しすぎて反転することがないからだ。

回転のコピー

IK ターゲットを回転させて前腕を回転させるので T_arm.L の回転をコピーする。D_rotLowerArm.L に Copy Rotation をつける。Bone は T_arm.L。座標軸は Y 軸、Space は両方 Local Space。

Copy Rotation の設定
Copy Rotation の設定

前腕の回転域を制限する。T_arm.L に Limit Rotation をつける。Y 軸の回転を制限し、この例では -90 から 30 になった。

Limit Rotation の設定
Limit Rotation の設定

関連記事

前腕のねじれを解消するでは体積の保存オプション有効時に前腕がねじれる問題の解決方法を解説している。

ボーンを使った筋肉の表現ではボーンをひとつ追加するだけで筋肉の隆起を表現する方法を解説している。

Blender 記事の目次


広告
広告

カテゴリ