・ジョイント構造(ロボット編)


【パーツ分割されているモデル】

パーツ分割されているモデルは、全身をスキンバインドするのではなく、コンストレイント(Constraint)するのが楽です。(Constrain >Parent)

■ジョイントにコンストレイント 方法

【全体の構造】

全体の構造は、Bodyだけがスケルトンにバインドされており、ほかの各パーツはスケルトンにコンストレイントされています。

パーツは肩、上腕、下腕、こぶし等 バラバラに分かれており、それぞれFreeze Transformationで数値は0になっています。

①ジョイント再構築

↑①HumanIKで作成したスケルトンをもとに、スケルトンの軸の向きを変更します。
腕と足の付け根の親子関係をいったん解除(子ジョイントを選択しEdit>Unparent (Shift+p))し、胴体、腕、足の3つに分解します。

X軸が子ジョイントの方を向くようにする。(Skelerton > Orient joint) こうすることで、「X軸はねじれ、Y軸又はZ軸は回転」というシンプルな構造になり、後々の制御がしやすくなります。胴体、腕、足それぞれで実行します。
先端のジョイントだけは(Modify >)Freeze Transformations のjoint orientを適応します(これで親ジョイントと同じ向きを向きます。)


・Orient Jointが効かないジョイントが時々出現しますが、その場合は上下の軸方向に合わせて個別に修正してください。(Orient Jointのsedcondiy Axisの方向を変える等)


・右腕、右足を削除し、Mirror jointで左腕と左足を反転コピーします。こうすることで軸方向がすべて逆向きになります。
※調整し終わったら、必ず(Modify >)Freeze Transformations で角度の値を0にしてください。


※この時点ではまだSkeletonのロック(鍵マーク)をかけないでください。軸向きが変わったりします。

②ジョイントの再登録(HumanIK)

↑②HumanIKのDifinitionで、各ジョイントを再登録します。右半分の登録が消えていると思いますので、半分を登録しなおします。
登録後、Difinitionのロック(鍵マーク)をかけてください。(Skeletonの方もロックがかかります。)

③スキンバインド(胴体だけ)

↑③胴体だけスキンバインド(SkinBind)します。バインド後、胴体のウェイトはSpineに100%にします。
モデルによっては他のジョイントに振っても良いですし、腰や頭など一緒にバインドしても良いです。その後、残りのパーツはコンストレイント(Parent Constraint)します。

④コンストレイント

↑④残りの各パーツをジョイントにコンストレイント(Constrain >Parent Constraint)します。
それぞれ ジョイント→パーツの順で選択し、コンストレイントしてください。(映像ではHipsのコンストレイントを間違ってます…)
Maintain Offsetにチェックを入れると、現在のオブジェクト配置場所でコンストレイントされます。
(チェックがないと、ジョイントの原点位置にコンストレイントされます。)

⑤パーツのロックとリグ生成

↑⑤各パーツを誤って動かさないように、各パーツをロックします。
 その後にHumanIKでリグを生成し終了です。
(※この時点で、スキンモデルBodyの親子関係がまずいことに気づいたので親子関係を修正しています。Hipの下にBodyがあるとBodyが親子関係に引っ張られておかしな方向に行ってしまいました。)


上記.mbデータのダウンロード↓

page top

トップに戻る