ネジまき出張所
超簡単な多段化と付与による回転の違い
2013-02-17 13:32:07●ボーンの話(4)
1回目:単純多段化と回転付与(付与ボーンがあるモデルを単純多段化する方法)
2回目:続)多段化したボーンのローカル軸の設定
3回目:多段化って何がおいしいの?(+操作(付与)ボーンの追加方法)
単純多段化というのはボーンの親子関係で繋いでる状態です。
回転付与はボーンの親子関係はどうでもよくて、付与関係で繋いでる状態です。
単純なモデルで見てみます。(回転付与の付与率は1とします。)
どちらもピンク用のボーンを同じ角度で回しただけです。
これが例えば「ピンク=腕ボーン、青=ひじボーン」と考えたら腕とひじが何故回転付与関係じゃなくて親子関係で繋がってるのか分かります。(間に入ってたりする腕捩はとりあえず無視で)
では、ピンクと青のボーン(材質も)が同じ位置にある場合はどうでしょうか。
(完全に重ねると画像が見辛いので少しだけ位置をズラしています)
ピンクを動かした時の青の基準が同じ場所になるので、見た目もほぼ同じになりました。
普通のモデルなら、同じ位置に同じ大きさのポリゴンなんてそうそうないので、ピンクと青のどちらかの材質しかないでしょう。
なので、とりあえず親子関係の方の、ピンク用のボーンだけ残してピンクの材質を消してしまいます。
ポリゴンが青のみになりました。ピンク(ボーン)を動かすと青(材質)が動く…。
はい、ピンク用のボーンは「ピンクという名前のついた、実態はただの青の単純多段化ボーン」になりました。
回転付与関係の方でピンクの材質を消した場合、ボーンが同じ位置にあればもちろん上の画像のように青だけ動いてるような状態になります。
ですが、ピンクの位置が違っていても結果的に同じような感じになります。
ピンクの材質を消した時、
- ピンクボーンと青ボーンが同じ位置で、親子関係で繋がっている(→単純多段化)
- ピンクボーンと青ボーンが同じ位置で、回転付与関係で繋がっている
- ピンクボーンと青ボーンが違う位置で、回転付与関係で繋がっている
この3つは最終結果(青の材質の動き)が同じになります。
つまり、ピンクボーン(言い換えると:ボーン親or付与親)を動かした時、
●回転付与関係では、付与親のボーン(ピンク)がどこにあっても、自分のボーン(青)基準で動ける
●親子関係では、ボーン親(ピンク)のボーン位置が、自分のボーン(青)の基準になる
ということです。
もちろん、青ボーン(ボーン子or付与子)を直接動かした時はどちらも自分のボーン基準で動きます。
これを、一回目・前回の内容に沿うように、青がひじだと考えると、
・親子関係である単純多段化したボーンが、多段化元(ひじ)と同じ位置でなければならない理由
そして
・回転付与による多段化の付与親のボーンは、実は元のボーン(ひじ)と同じ位置である必要はない
ということが分かります。
前回作った付与ボーン「左ひじ_op」は、あの後どこに動かしても良いということになります。
ボーンが重なってて選びにくい!という方は使いやすい場所にズラしてしまっても良いでしょう。
もちろん他にも違いは色々とあります。
モーションに関わる点と言えば、XYZ軸別に設定を分けられないことでしょうか(PMDEver0139のreadme、多重付与構造の欄より)。
実際に違いを見てみます。
どこかのボーンを3段ずつ、単純多段化したモデルと、付与による多段化をしたモデルを用意します。
それぞれのボーンに上から別々に「X60」、「Y60」、「Z60」などそれぞれ数値を入れてみると最終的に異なる状態になるのが分かります。
↓こんな感じ
↓ボーンに直接数値入力する方法。
理由については…私もあまり分かってない&検証していないので、すみませんが割愛させて頂きます。
そんな性質があるんだー程度に覚えておくと良いことがあるかもしれません。ないかもしれません。
(誰か教えてくれると嬉しいです。)
さて、ここまでは主にモーションに関わる話でした。これから主にモデルに関わる話です。
・・・と思ったのですが、書いてる内にまた長くなってしまったので分割することにします。
次回はモデルに利用するための、回転付与ボーンの特徴の話です。
ではお疲れ様でした。