※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

version 2.57

Bone envelopeの使い方について考えてみる


メッシュにarmatureを割り当てる時は、各boneと同名のvertex groupを作り、
動かしたい頂点にvertex groupをweight paintして与えるのが主流です。

一々vertex groupを作るのが面倒な時に、bone envelopesだけで適当な変形はできないのかな?
と思ってbone envelopeについて検証します。

1.前準備

適当なmesh objectと割り当てるarmatureを用意し、mesh objectの側にarmature modifierを設定します。

armatureの表示を以下のように設定します。
properties > object > display > Type:Wire, X-rayにチェックボックス
properties > object data > display > envelope


2.envelopesのパラメータ

この状態でpose modeまたはedit modeに入り、特定のboneを選択すると、envelopeの影響範囲が白くハイライトされて表示されます。これは、properties>boneの中のdeformタブで設定します。
(当然、deformタブを有効化していない場合はハイライトされず、表示されません)
この有効範囲の大きさは、deformタブの下の4つからよって決定されます。
白いハイライトされた領域は、
tailとheadのradiousの球を結び、をdistanceの値だけ拡大した部位になります。
この領域に存在するメッシュがbone envelopesの影響を受けますが、影響を受ける度合いはenvelope:weightによって決定されます。

weightの値が小さいと、ハイライトされた領域のうち、boneのtailから離れた頂点が変形の影響を受けづらくなります。特にweight=0と0.1の差は大きいです。

逆に、weightの値が大きい(max1000)と白くハイライトされた領域の外側も変形の影響を受けます。試してみたところ、根本側(head)の頂点により強く影響が現れるようです。
※weightに対応してどの距離まで影響するかについてははっきりと解らないので、適宜調整する必要があります。


3.いじってみて

ざっくりした形状のポーズ付けには十分適用可能です。
ただ、vertex groupのように、特定の頂点を選択的に選べないのでメカなどに適用するには不向きです。

細かいボーン構造を作ればvertex groupなしでも、想定通りのメッシュ制御は可能です。ただ、それを実現するにはenvelopeの各パラメータを適切に設定する必要があり、bind to:vertex groupでweight paintをきっちり塗り分けるのと同様、またはそれ以上に面倒です。

curved boneを追加で利用して、曲がるケーブルなどに均一なweight paintを与えなければならないものの代わりに使うにはいいかもしれません。
|新しいページ|検索|ページ一覧|RSS|@ウィキご利用ガイド | 管理者にお問合せ
|ログイン|