本記事では、モデリングしたキャラクターのスケルトンの設定をご紹介します。Mayaは2016を使用しています。
今回は、マネキンのモデルを使用していきます。
使用するマネキンモデルは、TURBOSQUIDからフリーダウンロードしました。
スケルトンの作成
キャラクターにリグをつけるにあたって、画面左上のモードをRiggingに変更します。
Skelton>Create Joints
画面はSide Viewにしておくと便利ですよ。
上の写真のように、腰の位置から頭の先端にかけてクリックしてジョイントを設定していきます。頭の先端まで設定したら、Enterで確定します。
Outlinerを見ると、ジョイント階層ができているので、名前を変更しておきます。ジョイントを設定したら、その都度、名前変更をしておくと自己管理がしやすいです。
同様に、左腕もスケルトン設定していきます。腕の場合、Top Viewで作業するので、頭部は一時的に非表示にしています。
それぞれの関節に沿ってジョイントの設定をしていきます。
写真のように、Perspective Viewに切り替えて、ジョイントを腕の位置まで移動、回転させます。
腕のジョイントを選択したまま、
Modify>Freeze Transformations
これを実行することで、今設定した左腕のジョイントのローカルの回転情報(Joint Orient)をTransformの回転値に変換できます。これをしておくと、のちにアニメーションをつけた時にコントロールするのがとても楽になります。
※Transformは0にしておきましょう。
左腕のジョイントを全選択した状態で、
Skelton>Mirror Joints Option
Mirror Joints Optionウィンドウが開くので、Edit からReset Settingを実行します。これをしておくと、前の数値をリセットできます。
Reset Settingをしたら、
Mirror across: YX
Search for: L_
Replace with:R_
を入力し、Applyを実行します。
右側に左腕と同様のジョイントがコピーされました。しかも、Outlinerにはきちんと右腕のジョイントは名称変更されてますね。
そしたら、L_Shoulder、R_ShoulderをSpine02の子供にします。
L_Shoulder、R_Shoulderを両方選択したら、マウスの中ボタンを押しながら、Spine02にドラックドロップすると子供にすることができます。
同様に左足のジョイントも設定してみましょう。
ジョイントのローカル軸の設定
左足のジョイントを設定したら、関節のローカル軸を設定します。左足のジョイントの親を選択し、Select Hierarchyを実行します。これで左足の階層が全選択できました。
そのまま、Display>Transform Display>Local Rotation Axes
これを実行すると、ジョイントのローカル軸を表示できます。
作業しやすいように、モデルを一時的に非表示にしておきましょう。
今のままだと、ジョイントのローカル軸がバラバラなので、これを綺麗に揃えていきます。
揃えたい、ジョイントを一時的に、親子関係から外します。上の写真のように、一度、L_FootとL_Foot_aの親子関係をそれぞれ解除します。
①、②の順で選択します。そのまま、
Constrain>Aim Constrain Option
設定したい、軸に合わせてAim vectorとUp vectorを変更します。上の写真のように、それぞれの軸を合わせていきます。Applyを実行すると、Outlinerにコンストレインノードが作成されるので、それは削除して大丈夫です。
その後、②を選択して、
Modify>Freeze Transformation
を実行することで、Attribute EditorのTransform Attributes Rotateの回転値を初期値として設定します。ジョイントのローカル軸を設定したら、先ほど解除した親子関係を戻します。
これでジョイントのローカル軸を設定できました。
ジョイントのローカル軸設定ができたら、非表示にしていたモデルに合わせて、ジョイントを移動、回転させます。移動、回転後はFreeze Transformationで回転値を0にしておきます。
Skelton>Mirror Joints Option
ジョイントを反転コピーさせて右側のジョイントを作成します。
重心コントロールの設定
Spineo1のみを親子関係から解除します。その後、Spine01を複製(Ctrl+D)します。名前がSpine03として複製されるので、”COG”と名称変更しておきます。
階層を写真のように整理しておきます。
余談ですが、 Display>Animation>Joint Size
ジョイントの表示サイズを変更できます。
ルート用、ジョイントの設定
原点(0,0,0)にジョイントを作成し、名前を”root”と変更しておきます。
rootをCOGの親に設定します。
これで、スケルトンのセットアップは完了です。
手数と、エラーが出た時に何回かトライすることがあると思いますが、それもスケルトン設定をするに当たって避けて通れない道です。個人的に私もこの記事を書くに当たって相当苦戦した部分はありました。
手数と作業時間がイメージできればと思います。
(参考:AREA JAPAN Maya Learning Channel)