ボーンコレクションとRigifyの使い方
モデルを変形するために使うボーンについては、アーマチュア (ボーン) でも解説していますが、ボーンをファイルを格納するフォルダのように分類するために、 ボーンコレクション(Bone Collections) というボーンをグループ化する機能が Blender 4.0 から使用できるようになりました。 さらに Blender 4.1 ではボーンコレクションを階層化できるようになりました。ボーンコレクションの中に(の下に)ボーンコレクションを配置できるようになりました。
ボーンコレクション(Bone Collections) を使うことで、数100のボーンで組まれた複雑なリグでも扱いやすくなります。 下のポーズは人型のメッシュに Blender の標準アドオンの Rigify を使って生成されたリグを使っています。Blender 4.0 以降の Rigify はボーンコレクションを使うように変更されています。
Blender 3.6 までは アーマチュアレイヤー(Armature Layers) という、32個のレイヤーのどこかにボーンを配置する方法で、どの位置に何が配置されているか知っている必要がありました。 ボーンコレクションになってボーンのグループが名前で管理できるようになり使いやすくなりました。
まずはボーンコレクションの簡単な使い方の説明から始めて、リグを組む (リギング: rigging) ための Blender の標準のアドオンである Rigify もボーンコレクションを使うようになったので、ボーンコレクションで便利になるところを紹介したいと思います。
楽に Rigify を試す事ができるように、指先まで Rigify が生成するリグに合わせた人型のサンプルメッシュもダウンロード (251KB)できます。 Rigify を有効にして Human (Meta-Rig) をメニューから追加するだけで使えます(後述)。
ボーンコレクションの操作
ボーンを追加すると、ボーン(Bones) という名前のボーンコレクションに自動的に割り当てられます。 日本語ではボーンと「ボーン」という名前のボーンコレクションの区別がつかないので注意してください。
ポーズモードで、ボーンコレクションに含まれる複数のボーンをまとめて選択したり、選択を解除したりすることができます。
ボーンコレクションは [+] ボタンで新規追加したり、[-]で削除することもできます。
ボーンコレクションを右クリックして、メニューからボーンコレクションを追加/削除することもできます。 ボーンコレクションをすべて削除しても含まれている(割り当てられている)ボーンが削除されるわけではありません。 ボーンコレクションの追加はアクティブになっているボーンコレクションの次の位置に追加されます。
新規に作成したボーンコレクション(ボーン.001)にボーンを割り当てるには、3Dビューポートでボーンを選択して割当ボタンをクリックします。これで中央のボーンは、ボーンとボーン.001という2つのボーンコレクションに割り当てられました。 3Dビューポートで選択されたボーンを含むボーンコレクションには⏺️が表示されます。
一番下のボーンは「ボーン.001」には割り当てられていないため、⏺️は表示されません。
中央のボーンを選択して、「ボーン」ボーンコレクションをアクティブな状態で「削除」をクリックすると「ボーン」への割当は解除されます。
ボーンコレクションの👁️🗨️のアイコンをクリックすると、割り当てられているボーンを非表示にできます。
Blender 4.1 以降では、ボーンコレクションをドラッグして、別のボーンコレクションにドロップするとボーンコレクションを階層構造にすることができます。 ここでは、「ボーン.001」を「ボーン」の子とすることができます。
ボーンコレクションが階層構造になっている場合には、親を非表示にすると、子が表示指定であっても表示されません。
以上のような簡単な例ではボーンコレクションのメリットをあまり感じられませんが、ボーンが複雑な構成となっていると色々便利になります。
Rigify のボーンコレクション
複雑なボーン(アーマチュア)の構成でも、ボーンコレクションを階層化することで使いやすくなります。 複雑なボーン構成の例として、Rigify を使います。 今回は以下のような人体のメッシュを用意(ダウンロード) しました。
通常はモデル(メッシュ)の形状に合わせて Rigify のメタリグを修正してリグを生成しますが、今回のメッシュは Rigify のボーンの配置にメッシュ形状の方を合わせています。
アドオンとして Rigify を有効にするとアーマチュアに人型のリグ(Human)を選択できるようになります。
メタリグはメッシュに隠れてしまうので、プロパティのビューポート表示から最前面(In Front)に切り替えます。 通常はメタリグの個々のボーンをメッシュの形状に合わせて移動やスケールの変更を行います。
今回はメッシュ自体を Rigify のメタリグに合わせてあるので、ボーンの移動などは必要ありません。
Rigify の顔のリグをアップグレードします。
Rigify の顔のリグをアップグレードすると口の表情を操作しやすくなります。Z軸方向に拡大すると口を開けるなど。
Generate Rig でリグを生成します。
アウトライナーに「rig」が現れます。この時点から「metarig」は不要です。削除して構いません。
生成したリグはメッシュに隠れた部分もあるので、プロパティのビューポート表示から最前面(In Front)に切り替えてすべて表示されるようにします。
ボーンコレクション
プロパティに表示されるボーンコレクションは、個々のボーンの名称ではなく、ボーンのグループに付けられた名前です。 ボーンコレクションには複数のボーンが含まれている場合があります。
ポーズモードでボーンコレクションを選択して、「select」押すとそのボーンコレクションに含まれるボーンを選択できます。
プロパティのタブをボーンに切り替えると選択したボーンの名称が表示されます。
ボーンコレクションの表示/非表示は「👁️🗨️」マークで切り替えます。 多くのボーンコレクションの表示/非表示を一括して切り替えるには、マウスを「👁️🗨️」マークの上でドラッグします。
メッシュとボーンの接続
メッシュとボーンを接続するとボーンの動きに合わせてメッシュが変形するようになります。 まず、オブジェクトモードで、シフトキーを押しながら、メッシュ、ボーンの順序で選択します。 ボーンがアクティブオブジェクトとして選択された状態にします。
メニューから「オブジェクト/ペアレント/自動のウェイトで」を選択すると、ボーンとメッシュを構成する頂点の位置関係からウェイトが自動的に設定されます。
アウトライナーでリグの下にメッシュが移動することが確認できます。
例えば、ボーンコレクションの Leg.L (IK) を表示にして、左足の足の裏にあるボーンを動かすとメッシュの左足の部分がボーンの動きに合わせて変形することが確認できます。
動かしたボーンは、「ポーズ/トランスポーズをクリア/すべて」で元の位置に戻ります。
ボーンコレクションの追加
[+] ボタンでボーンコレクションを新規追加できます。
追加したボーンコレクションは表示位置を移動させることができます。
ボーンコレクションにボーンを割り当て
指定したボーンコレクションに選択したボーンを割り当てることができます。 1つのボーンは複数のボーンコレクションに割り当てることが可能です。
ボーンコレクションの名前の変更
ボーンコレクションの名前をダブルkリックすると名前を変更できます。
ソロフラグ(★)の意味
ソロフラグ(★) はチェックしたボーンコレクションだけを表示できます。 複数のボーンコレクションのソロフラグ(★) をチェックできます。
ボーンコレクションの階層化
ボーンコレクションをドラッグして、別のボーンコレクションにドロップするとボーンコレクションに親子関係を持足せることができます。
この例では Rigify が持つボーンコレクションとは別に、自分専用のボーンコレクションを作成しています。
Rigify が持つボーンコレクションを「Rigify」というボーンコレクションの下にまとめた例。
Forward Kinematics(FK) と Inverse Kinematics(IK)
3次元のグラフィックスの内部処理の話になりますが、オブジェクトの座標系(局所座標系)で表された頂点座標はスクリーンに表示するために何度も座標変換する必要があります。図の赤い点をボクシングのグローブとすると、グローブと手首の位置関係、手首と肘の位置関係、... かかととリングの位置関係、全体が存在する空間とスクリーンの関係といった感じです。
3次元のグラフィックスを画面に表示するためには、リングからグローブに向かって順次位置関係を決めて行く(順方向)必要があります。これを Forward Kinematics (FK : 順運動学) といいます。 グローブを前に出す時には、根本から先に向かって(順方向)、腰 → 胸 → 肩 → 肘 → 手首 → グローブのように関節の角度を内部処理で決めていく必要があります。
グローブからリングに向かって位置関係を決めて行く(逆方向)ことができればポーズの設定が楽になります。グローブの位置や角度だけを指定するとその他の部分の位置や角度が決まります。 この方法を Inverse Kinematics (IK : 逆運動学) といいます。 他の部分の位置や角度は色々な値にできる可能性があって一つに決められないため、内部的には繰り返し計算などで最適解を求めます。
FK のボーンをまとめてボーンコレクションに割り当てています。
Rigify では、ボーン毎に FK と IK を切り替えたり、中間的な状態に設定したりすることができます。
FK と IK を一致させるにはサイドバーの 「FK->IK」または「IK->FK」をクリックします。ここではFKのボーンをIKに合わせています。
これは IK を FK に合わせる場合です。
Rigify のボーンコレクションとボーン一覧
Rigifyのボーンはボーンコレクションで分類されていて、ORG にはメタリグのコピー、 メッシュの変形に使うボーンコレクションに属するボーンを一覧にしました。
ボーンコレクション | ボーン |
---|---|
Face | ear.L |
ear.R | |
eye_master.L | |
eye_master.R | |
jaw_master | |
teeth.B | |
tongue | |
jaw_master_mouth | |
nose_master | |
teeth.T | |
eye_common | |
eye.L | |
eye.R | |
Torso | torso |
hips | |
chest | |
neck | |
head | |
breast.L | |
breast.R | |
shoulder.L | |
shoulder.R | |
Fingers | f_index.01_master.L |
thumb.01_master.L | |
f_middle.01_master.L | |
f_ring.01_master.L | |
f_pinky.01_master.L | |
palm.L | |
f_index.01_master.R | |
thumb.01_master.R | |
f_middle.01_master.R | |
f_ring.01_master.R | |
f_pinky.01_master.R | |
palm.R | |
Arm.L (IK) | VIS_upper_arm_ik_pole.L |
upper_arm_parent.L | |
upper_arm_ik.L | |
hand_ik.L | |
upper_arm_ik_target.L | |
Arm.L (FK) | upper_arm_fk.L |
forearm_fk.L | |
hand_fk.L | |
Arm.R (IK) | VIS_upper_arm_ik_pole.R |
upper_arm_parent.R | |
upper_arm_ik.R | |
hand_ik.R | |
upper_arm_ik_target.R | |
Arm.R (FK) | upper_arm_fk.R |
forearm_fk.R | |
hand_fk.R | |
Leg.L (IK) | VIS_thigh_ik_pole.L |
thigh_parent.L | |
thigh_ik.L | |
foot_ik.L | |
foot_spin_ik.L | |
foot_heel_ik.L | |
toe_ik.L | |
thigh_ik_target.L | |
Leg.L (FK) | thigh_fk.L |
shin_fk.L | |
foot_fk.L | |
toe_fk.L | |
Leg.R (IK) | VIS_thigh_ik_pole.R |
thigh_parent.R | |
thigh_ik.R | |
foot_ik.R | |
foot_spin_ik.R | |
foot_heel_ik.R | |
toe_ik.R | |
thigh_ik_target.R | |
Leg.R (FK) | thigh_fk.R |
shin_fk.R | |
foot_fk.R | |
toe_fk.R |
Blender 2.8 - 4.3 の使い方 [目次]
- (01) インストールと日本語化
- (02) 画面構成とモード
- (03) オブジェクトモード
- (04) 球と円柱でモデリング
- (05) スカルプトモード
- (06) 編集モード
- (07) リトポロジー
- (08) Python スクリプト
- (09) マテリアル (1)
- (10) マテリアル (2)
- (11) マテリアル (3)
- (12) アーマチュア(ボーン)
- (13) Rigifyによるリギング
- (14) パーティクルヘア
- (15) グリースペンシル
- (16) ジオメトリーノード (1)
- (17) ジオメトリーノード (2)
- (18) カメラ
- (19) ジオメトリーノード (3)
- (20) 新ヘアシステム Hair Curves
- (21) ヘアカーブの進化
- (22) Vector Displacement Mapブラシ
- (23) アセットライブラリ
- (24) シミュレーションゾーン
- (25) ボーンコレクションとRigify