でボーンとアーマチュアについてまとめたが、今回は感覚をつかむため、棒人間でリギングしてみる。
リギングとは、3Dモデルを動かすためにボーンを配置し、モデルの表面と骨を関連付けてアニメーションできるようにする作業のことだ。
そこで、ボーンにも規格があることを知る。
リギングの構成と命名例
Humanoid規格
中でも、VRChatで使われるHumanoidという規格が有名で、人体やキャラクターのリギングをするなら、構成や命名を知っておいた方がいい。
Hip
├─ Spine
│ └─ Chest
│ ├─ Neck
│ │ └─ Head
│ │
│ ├─ Shoulder.L
│ │ └─ UpperArm.L
│ │ └─ LowerArm.L
│ │ └─ Hand.L
│ │
│ └─ Shoulder.R
│ └─ UpperArm.R
│ └─ LowerArm.R
│ └─ Hand.R
│
├─ (Pelvis.L)
│ └─ UpperLeg.L
│ └─ LowerLeg.L
│ └─ Foot.L
│ └─ Toe.L
│
└─ (Pelvis.R.)
└─ UpperLeg.R
└─ LowerLeg.R
└─ Foot.R
└─ Toe.R
├─ Spine
│ └─ Chest
│ ├─ Neck
│ │ └─ Head
│ │
│ ├─ Shoulder.L
│ │ └─ UpperArm.L
│ │ └─ LowerArm.L
│ │ └─ Hand.L
│ │
│ └─ Shoulder.R
│ └─ UpperArm.R
│ └─ LowerArm.R
│ └─ Hand.R
│
├─ (Pelvis.L)
│ └─ UpperLeg.L
│ └─ LowerLeg.L
│ └─ Foot.L
│ └─ Toe.L
│
└─ (Pelvis.R.)
└─ UpperLeg.R
└─ LowerLeg.R
└─ Foot.R
└─ Toe.R
(Pelvis)はHumanoid規格にはないが、今回棒人間なので加えることとする。
さらに、Humanoid規格は、手指がそれぞれ
- 親指:Thumb
- 人差し指 :Index
- 中指 :Middle
- 薬指 :Ring
- 小指 :Little
があり、Handからそれぞれに、
第三関節(Proximal)
└─第二関節(Intermediate)
└─第一関節(Distal)
└─第二関節(Intermediate)
└─第一関節(Distal)
が子となる。
今回は棒人間なので手指は省くが、それ以外は基本に慣れていくため取り入れてみる。
棒人間のリギングの手順
3Dモデルの組み立て
まず、頭(顔)はUV球、その他は円柱で、今回はウェイトをしないので、オブジェクトを分けて配置。オブジェクト構成はもちろん上記のHumanoidと同じだ。
アーマチュアの配置
Hipの配置と正中線
- アーマチュアを追加
- データ→ビューポート表示→最前面にチェック
- 適切な位置に移動
- ボーンを選択し編集モードへ
- Hipを起点(上向きにする)
- 先端を選択してG移動で縮小拡大
- そこからHeadまでeで子作り
手腕のボーン
- Chestの先端からShoulderをeで子作り
- Handまでeで子作り
脚のボーン
- Hipの先端からUpperLegをeで子作り
- Toeまでeで子作り
名前を付ける
ボーンはメッシュオブジェクトと同じ名前を付ける。スキニング
スキニングは、ボーンとオブジェクト(メッシュ)の関連付けのことで、今回はウェイトはないのでペアレント(親子付け)のみとなる。ペアレント
- ポーズモードでCtrl + P で親子付け
- アーマチュア→ボーン
- ボーンを動かすとメッシュオブジェクトが動くか確認
アウトライナーでオブジェクトを選択して、ビューポートでShift押しながらボーンを選択するとよい。
(ボーン固定)
ShoulderとPelvesのみ、nパネルで移動回転スケールを固定しかし、FBXでボーンデータは書き出し出来るが、固定までは書き出し出来ないため。Blender以外は「移動回転スケールを固定」は反映しない。
書き出し
必要があればエクスポート。FBX。
パスモード:自動
パッチモード;オフ
内容-対象:全部チェック無し
オブジェクト:アーマチュアとメッシュ
アーマチュアの「リーフボーンを追加」のチェックを外す。
あとはそのままでOK。
ただし、不要なものはアウトライナーでチェックを外しておく。
リーフボーン(Leaf Bone)とは、ボーン階層の末端に追加される補助的なボーンで、「リーフボーンを追加」がチェックが入っていると、FBXをインポートする際、「リーフボーンを無視」のチェックをしなかった場合には自動的に「_end」というボーンが追加される。
[カテゴリ]