現在こちらのMayaリギング -正しいキャラクターリグの作り方-本にてリグを勉強してるんですが、今は中盤ぐらいまで進んでて、鳥のスキニングをしてますが、頂点とジョイントの影響するスキニングについて自分用に書いてみました。
スキニングとは?
モデリングしたキャラクターと配置したジョイントをsmooth bindでくっつけて、ジョイントを動かすと、モデリングしたキャラクターも一緒にくっ付いて動く様にするんですが、
動かすジョイントにどの頂点を影響させる様にするかを、白と黒のペイントでヌリヌリする作業をスキニングと言います。沢山あるモデリングした頂点とジョイントがちゃんと影響し合う様にしないといけないんですね。
で、白と黒でヌリヌリする時は、キャラクターのジョイントを動かしながら、上半身を曲げたり、腕を上げたりして、色々な角度に曲げてもちゃんと体がおかしくならない様にして塗ります。で、本で勉強してる鳥さんを例に書いたんですが、
見えづらかったのでジョイントを隠しました。こんな感じになります。
下の画像を見てもらいたいのですが、回転したままの状態で、お腹部分の頂点を1つ選択して、Component EditorのSmooth Skinsを開くと、「vtx1566」という1つの頂点に対して、Lower_Body_JNTに0.482と、Upper_L_body_JNT_2に0.518と、2つの数値が入ってて、合計が1になってる事が分かります。
ちなみに今回選択した頂点がジョイントが2つしか影響してないのは、Smooth Bind する時に、Max influences(頂点1つに対して影響するジョイントの数)を2にして、Maintain Max influences(Max influencesをオンにする)にチェックを入れたので、頂点1つに対して、絶対にジョイントは2つまでしか影響しない様にしたからです。数は多くすれば滑らかに動きますが、影響が広がると調整するのが大変になってます。。
要するに、頂点が1つしかなくても、Component Editorを見ると、どのジョイントが影響してるのかが分かるんです!今回で言うと、2つのジョイントが1つの頂点に影響されてるんです!これを頭にたたきこめながら作業すれば、あっちこっち、なかなかスキニングが進まないという事がなくなると思います。
こんな失敗。
なので、例えば①Upper_L_body_JNT_2のComponent Editor部分に0を入れたらLower_Body_JNTにだけ影響がいくようになるので、Upper_Lに引っ張られなくなり、頂点がおかしい事になったりするんです。こんな事にならない様に気をつけてくださいね。
この本は高いけど買って良かった1冊ですよ。