バインドツール 1

公開:20040908


bindtoolによるスキニング。とりあえず一番シンプルな構造で。
要skeldiaなので入れてない人は以下のサイトから入手してください。

http://www.dynadream.com/freesoft.htm

 

適当な直方体を用意。横は10ぐらいに分割してます。
次にjointを二個持ったskeltonを作ります

Construct系のツールは同レベルのオブジェクトと一個上のレベルに作用するので同じフォルダにドロップします。

他のConstructツールを見る限りオブジェクトの下に入れるのが正しいのかも知れないけど、そうすると、realsoftは親と子を同時に選択出来ないのでFidelityとかの設定が出来ないのよね。まあ、今はスルーの方向で。

skeltonを選択してBind Nrstボタンを押します。アイコンの上でF1を押すと説明が出るので詳細はそちらを参照。読んで字のごとく近いサーフェースの頂点を勝手にバインドします。

隣のBindVolはMapVolumeを元にバインドするようですが、使いにくいです。キャラスタやmikotoみたいにそれだけで完結できるんじゃないとこういうのはちょっとね。

しかる後にConstructボタンを押すと機能します。
こんな感じ
skin Managerを起動
スケルトンじゃなくてオブジェクトの方を選択しているとちゃんと表示されます。
頂点編集モードにして適当に選択してみると……

一番下の欄がグレーから切り替わり、この頂点はJoint0にBindされているのがわかります。上のツリーでJoint1を選ぶと逆にFidelityとWeightはグレーに切り替わります。

ちなみに一つの頂点は一つのJointにしかBindできません。今選択している頂点をJoint1にBindしたらJoint0へのBindは外れます。では中間部分のウエイトはどうやって指定するかと言うとFidelityの値を使います。

 

たとえばこんな風に曲げた時、現在選択中の頂点は100%Joint0に割り当てられているのでこんな感じですが……
Fidelity値をあげてやるとJoint1の影響力が上がってこんな風によります。

同様にこの頂点はJoint1にBindされているのでFidelityをあげるとJoint0の影響力が上がります。

Fidelityは0の時に100%自分自身の影響下に頂点をおき、1の時に隣のJointの影響下におきます。

シェーディング表示だと色がついてわかりやすい。

 

複数のスケルトンからBindする場合FidelityではなくWeight値を使います。この場合、スケルトンが2本だと、Weight値の合計が2になるように設定しないとダメなので結構面倒です。

Skeldia無しでFidelityの調整をしようと思うと、skeltonとオブジェクト両方を選択してやらないとダメだったので結構面倒でした。でもこの骨、表示サイズが変えられないけどどうにかなるのかしら?

あとはウエイトのミラーツールさえあれば、仕込みもお手軽なんですが〜

綺麗な変形はウエイト調整よりも前に、ポリゴンの割り方や関節の位置によるところが大きいのでちまちまウエイト調整する前にその辺を見直すと良いかも知れないなあ、とかなんとか。

 





(C) 1997-2004 KasiwagiKazuhiro/Limit Cycle All Rights Reserved.