2013年4月5日金曜日

補助ボーン

また期間が開いてしまいました。
気持ち的には3日に1投稿くらいしたいのですが
私用で最近なかなか書けませんでした;;


今回は補助ボーンです。
補助ボーンとはスキニングの時の補助として作るボーンのことです。


ちなみにスキニングはボーンでしか行えないと思ってらっしゃるかたも
多いのではないでしょうか。

スキニングはポリゴン等でもバインドできます。
(たしかジョイントは必須になったと思います)

何か厚みのあるものをバインドさせたいときには便利です。
マッスルを使わずに疑似的な筋肉の表現なんかも使えると思います。

まぁ今回は説明しませんが・・・




















こんなものを用意しました。
ただの円柱にボーンをバインドしたものです。
(なんとなくスムースメッシュプレビューにしてあります)




















曲げるとこんな感じです。

ウエイトはインタラクティブで
一番下のジョイント(root)から真ん中のジョイントまでの頂点のウエイトを
一番下のジョイント(root)に対して1、
真ん中のジョイントから一番上の末端ジョイントまでの頂点のウエイトを
真ん中のジョイントに対して1にしてあります。


曲げた真ん中のジョイントに近い部分がポリゴンをえぐってしまっており
滑らかには曲がっていません。




















滑らかに曲がるために、この選択されたエッジは
真ん中のジョイントの半分の値をとってほしいです。




















そこでまず同じポジションにジョイントを新しく作ります。
回転軸は真ん中のジョイントと同じ方向にしておいて下さい。

バインドされたオブジェクトと
バインドしているルートジョイントと
新しく作ったジョイント
この3つを選択した状態で

スキン → スムース スキンの編集 → インフルエンスの追加
をします。

すると後から追加したジョイントもウエイトを持つことができるようになるので
先ほどのエッジの部分の頂点のウエイトを新しく追加したジョイントに対し1にします。


後はこの新しく追加したジョイントに真ん中のジョイントの回転値の半分を
いれてあげれば良い訳です。











こんな感じで乗算除算ノードを使い真ん中のジョイントの回転値に0.5をかけ合わせ
新しいジョイントの回転値にします。
コネクション方法は前の記事でもやってるので省きます。



















するとこんな感じで滑らかに曲がってくれます。



これを応用すれば人型でバインドするのが難しい尻、肩等の調整が
うまくできるのではないでしょうか。

リアル系は素直にマッスルを試す方がいいと思いますが
カートゥーン系のようなキャラクターは良いかもしれません。
(とか書きましたがマッスルに関してはまだまだ勉強中です;;)


以上ですー

0 件のコメント:

コメントを投稿