モデリングしたキャラクターをアニメーションさせるための
スケルトンとスキニングの設定を説明する。
英語インターフェース版はこちらをご覧ください。
Maya チュートリアル:キャラクターセットアップ その①:スケルトンとスキンニング
■ジョイントの基本
ポリンゴンのシリンダーを作り(縦方向に4分割程度)
アニメーション メニューセット スケルトン > ジョイント ツール で
シリンダーの中心付近を適当に3~4ヶ所クリックし、Enterキーで決定する。
小さな円の部分をジョイント、円と円をつなぐクサビ型の部分とボーンといい、
あわせて、スケルトンと呼んでいる。
アウトライナで確認すると、ジョイントは親子のツリー構造になっていることがわかる。
ジョイントは表示サイズの設定があるので
ディスプレイ > アニメーション > ジョイント サイズ... で設定する。
シリンダー、ジョイントを選び、
スキン > スキンのバインド > スムース バインド を行なう。
ジョイントを選び回転させると、バインドされたオブジェクトが変形する。
また、バインドされたオブジェクトは赤紫に反転する。
このように、オブジェクトをジョイントとともに変形するように設定することを
バインド(束縛する、拘束する)といい
、
バインドされたオブジェクトはスキン(皮膚)と呼ばれる。
■ジョイントの設定
キャラクターのモデルはあらかじめ、
手は水平、もしくは水平よりやや下げた位置
足はある程度間隔を空けた位置
に調整しておく。
からだの中心と左半身のジョイントを置いていく。
・からだの中心・・・下腹→へそ→肩のつけ根→首→頭の先の順で、最後にEnterキー
・腕・・・肩→ひじ→手首 でEnter
・脚・・・足のつけ根→ひざ→足首→足先 でEnter
側面からみるとこんな感じ、
ジョイントは関節の位置に置き、関節が曲がる方向に軽く曲げておく。
上面からみるとこんな感じ、
ここでも、関節は曲がる方向に軽く曲げておく。
ジョイントはツリー構造になっているので、"親"のジョイントを動かすと"子"のジョイトも動く。
"親"のジョイントのみを移動させる場合はInsertキーでピボットモードにする。
指のジョイントも設定する。
ジョイントの名前をわかりやすくつけかえ、構造は上図のようになった。
bodyRoot からだ中心
shoulderL 腕
legL 足
finger1 - 4 指
でfinger1 - 4 をまとめてarmLの"子"にする。(通常のアウトライナの操作)
同様にshoulderLを shoulderの"子"に、legL1 を bodyRoot の"子"にする。
アウトライナでは上図のようになり、ジョイントはボーンで繋がっていることがわかる。
shuolderL(腕のつけ根)を選んで、
スケルトン > ジョイントのミラー
オプションはX軸でミラーコピーする場合ミラー平面 YZ
legL1(足のつけ根)を選んで
スケルトン > ジョイントのミラー
ジョイントがミラーコピーされ、ジョイントすべて出来上がった。
(ミラーコピーされたジョイント名もわかりやすく変更しておく)
モデリングの形状によっては、ジョイントの構造が不適切かもしれないが、
(このキャラクターの場合だと耳のあたりとか)
とりあえず、次のステップへ。
bodyRoot(いちばん"親"のジョイント)とすべてのモデリングデータを選んで
スキン > スキンのバインド > スムース バインド
ジョイントを選ぶとモデリングデータが赤紫に反転するのがわかる。
すべてのジョイントをひとつずつ選んで、回転させ、ジョイントの位置が関節として、
また、今後設定するキャラクターの動きとして、適切であるか、チェックしていく。
わきの下など、不自然な変形が起こっているところは、後で修正するので、
この段階では気にしなくてよい。
■ジョイント位置の修正
①ジョイントを選んでスキン > バインド ポーズに移動 でジョイントを最初のポーズにもどす。
②モデリングデータを選んで スキン > スキンのデタッチ でスキンのバインドをはずす。
③(必要であれば)ジョイントの右半分を削除し、
④ジョイントの位置を修正。
⑤ジョイントのミラー、バインドの手順を繰り返す。
⑥ジョイント名をわかりやすく変更する。
また、関節を曲げた部分のモデリングデータが、分割数がすくなく、カクついて見えるようなときは、
モデリングデータも、バインドする前に修正する。
モデリングデータの修正、ジョイント位置の修正は、必ず、バインド ポーズに移動で
最初のポーズにもどし、デタッチした状態で行わなければならない。
ジョイントの修正結果が上図である。
耳のジョイントとわき腹のジョイントを追加した。
わき腹のジョイントは腕のジョイントを動かしたときに、わき腹が大きく変形するので、
それを押さえるために置いた。
ここで設定したジョイントは、あくまでも、一例であり、キャラクターの形状、アニメーションによって
これ以外の設定がいろいろ考えられる。
例えば、指を細かく動かさないキャラクターなら、
指一本一本に対応したジョイントはいらないだろうし、
肩の付け根と肩の間に、ジョイントを追加したら、
肩を回すようなアニメーションに対応できるだろう。
ここまでの設定で、ジョイントにキーフレームを打っていけば、基本的にはアニメーションをつけることができる。
ジョイントをバイドしたら、オブジェクト全体の移動、回転、スケールはすべて、
いちばん"親"のジョイント(ルートジョイント)に対しておこなうこと。
バインドされたオブジェクトは、直接、移動、回転、スケールすることはできない。
■補足:スムース バインドとリジッド バインド
上図のように、中心付近の分割数をふやしたポリゴンのシリンダーを2つ作り、
中にジョイント を置いてそれぞれ、
スキン > スキンのバインド > スムース バインド と
スキン > スキンのバインド > リジッド バインド を実行する。
左がスムース バインド、右がリジッド バインドである。
スムースバインドでは、変形箇所がなめらかに曲げられているのがわかる。
ジョイント joint --- 結合(部)、関節
ボーン bone --- 骨
スケルトン skeleton --- 骨格
バインド bind --- しばる、くくる、しばりつける
デタッチ detach --- 引き離す、分離する
リジッド rigid --- かたい、厳正な、厳密な
English article
Maya tutorials: character setup (1): skeleton and skinning