・キャラクターのジョイント構造

キャラクターのジョイントについて

これまでのIKでのモーション作成だとジョイントのローカル軸を意識することはあまりありませんでしたが、より複雑なアニメーション制作になるとコンストレイント(拘束)やエクスプレッション(計算式などで動きを制御すること)などでXYZの3軸をより意識していくことになります。

ジョイントのローカル3軸の方向がバラバラでは制御が難しいため、扱いやすいよう変更します。これを行うとコンストレインやエクスプレッションを組むときにも制御しやすくなります。

具体的には足腕ジョイントのX軸を子ジョイントに向け、「ZもしくはY軸で曲げ運動を制御、X軸はねじれを制御」という役割分担を設定します。

ジョイント階層の整理

基本となるスケルトンはHumanIKで作成しますが、階層が扱いにくいので並びを整えます。

背骨~首、頭にかけての階層を上に持ってきます。(中ボタンクリックドラッグ で階層が移動)

Hipsの下にSpineを移動
Hips→Spine→Spine2→Neck→Head に変更(それぞれの構造に合わせてください。)

②Orient Skeleton

各ジョイントのローカル軸の向きを一旦統一します。

階層を選択して、skeleton >Orient Joints >Oriennt Joint to World にチェックを入れ

ワールド軸に合わせます。

③X軸を子ジョイントに向ける

腕と足のジョイントのX軸を、子ジョイントに向けます。

左腕と左足の階層を選択し、Skeleton >Orient Joint を実行します。(HipからHeadまでの背骨ジョイント群はそのままです)
※上記では背骨ジョイントはX軸が子ジョイントを向く加工をしていませんが、背骨も他のジョイントに合わせてX軸を子ジョイントに合わせてください。)

・正しく向いていないジョイントを修正

親子解除は「Shift+P」です(上の動画ではCtrl+Pとありますが間違い)

左半分だけを変更(上記画像では右も選択していますが、後でミラーしますので左だけでよいです。)

手首など子が複数に分かれるジョイントと、指先ジョイントなど子がいないジョイントは角度調整が必要です。

これらは親と同じ方向を向けさせます。
手首は一旦親子関係を外す必要があります。手首以下の子を選択し、Shift+Pで親子関係解除。

Modyfy > Freeze Transformations Options で、Joint Orient にチェックを入れ実行すると、親と同じ向きを向きます。

完了したら親子関係を戻します。ジョイント階層を元の並びと同じにするため、
親指→人差し指→…小指の順番で選択し、最後に手首ジョイントを選択、
その後「P」ボタンで再度親子づけをします。

④ミラーで右半分を入れ替え

右腕と右足階層を削除し、左腕と左足をそれぞれSkeleton >Mirror Joints で反転します。

下図のようにLeftとRightを記載し実行すれば自動で名前を付けてくれます。

↑実行後はX軸とY軸が逆を向きますが、これで問題ありません。
階層も元のパーツがあった階層と同じにしてください。
⑤フリーズ

現在のジョイントの回転値を0としてフリーズします。

左右同じ階層を選んで回転させると、左右対称の動きになっていれば成功です。

トップに戻る