忍者ブログ

≪ 前の記事次の記事 ≫

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

▲TOP

3ds Max:ボーンとスキン 3回目


前回分までで、「結局ボーンを使っているじゃないか」「意味がわからない」と友人より苦情(?)ありましたので、今回はスキンだけを取り上げて説明します。

使い方というよりはどのような役割や仕組みになっているのかメインで説明します。


ss1.jpg
1.ポリゴン化した球とボックスを2つ準備します。
球に「スキン」モデファイヤを適用し、ボーンとして、青ボックスを選択します。
ボーンがひとつの場合、エンベロープの位置や形状に関係なく、全ての頂点がそのボーンにバインドされます。
(オプション設定で、この動作を変える事ができますが、お勧めはしません)

これで、青ボックスに対し変形(移動/回転/スケール)を行うと、連動して球も同じ変形をします。
ただし、変形の基点は青ボックスの基点を基にされます。
青ボックスを親とした通常の「リンク」と同じ動作をします。
しかし、実際には通常のリンクとは異なります。

見方を変えると、通常球の頂点は球の基点が管理(所有)しているのに対して、青ボックスの基点に(この例では全ての)頂点を渡したということです。 このことによって、球の基点は管理する頂点数は0になっています。

117566ae.jpeg

これは球のほうを移動してみた例です。
このように動いたように見えますが、、選択を解除すると、基点だけはここに残り、球は元の位置に戻ります。
つまり、球の基点は存在するけれども、変形への影響度合いは0なので、球の基点がどのように動いたとしてもなんらオブジェクトの変形に影響しないということです。



ss3.jpg
2.次にボーンに緑ボックスを加えます。
影響範囲は0だったので、適当に設定しました。
影響範囲は本来エンベロープで変化します。また、エンベロープの形状はボーンとするオブジェクトの形状によって決まるようですが、そのあたりの詳細については今回は割愛します。

ss4.jpg
3.緑ボックスを上に移動します。ありきたりな変形をします。
今、このシーンの中にリンクは一切存在しません。


ss5.jpg

4.そのため、青ボックスを移動したとしても、緑ボックスも、球の基点も動くことはありません。
動くのは青ボックス(オブジェクト/基点)とバインドされている頂点だけです。

ここで、「階層」タブの「基点調整」ロールアウトの「基点にのみ影響」を押した状態で、青ボックスの基点を移動してみます。青ボックス自体は動きませんが、基点とバインドされている頂点が動くのがわかるかと思います。

これで、おおよそのスキンの基本的仕様が理解していただけたかと思います。
(私が行ったテストを元に推測している部分もありますので、完全な答えではありません。)
この中に、リンクやボーン(システムの方)は出てきていません。
簡単に言うと、オブジェクトの基点を増やしてくれるもの、、のように認識するといいかも知れません。

アニメーションのためだけでなく、モデリング時のポリゴンの変形(デフォーム)にも使用できます。
(確定するときはスキンモデファイヤを「集約」すればよい)

また、基本的特徴のひとつとして、各頂点を複数のボーンにウェイトを振り分けたとしても、合計値は基本的に1になります。例えばある頂点ひとつを例にすると、 青ボックスが0.4なら自動的に緑ボックスは0.6になります。

では、今回の青ボックス/緑ボックスにバインドされたものとは違う影響範囲で変形したいときはどうするのでしょうか? 

答え(のひとつ)は、そのスキンモデファイヤにさらにスキンモデファイヤを適用すればよいのです。



ものの本にはなかなかこのようなことは書かれていません。

「モデルを作り、ボーンを作って位置あわせをして、スキンを適用して、動かしましょう、、」
というパターンがほとんどです。
ボーン/スキンの変わりにChractorStudioのBiped/Phisiqueになっているパターンもあります。

基本的な流れをマスターするのには非常に有益ですが、それを外れたことをしようとした場合、なかなか進めず、結局その基本以上のことはできない、、ということにもなります。

そんなときに理屈(原理)を理解しておくと、何かと便利です。
Maxの様な高価なアプリケーションは低級レベルの機能からそれらを組み合わせて、特定のことを簡単にできるようにした高度なレベルの機能まである場合がほとんどです。

その為、あることをしたいときに、いろいろなアプローチが考えられます。
特に慣れるまではそれがネックとなるケースもあると思います。

それでは、、「高度なものだけでよいのでは?」となりそうですが、それだけではうまく行かないときもあります。
なぜなら、高度なものほど汎用性が低くなります。

例えば「自動何とか機能」というものがあって、ボタン押すだけで、何かをしてくれるものがあったとします。
これは高級レベルに分類されるものですが、もし仮にそれがあなたの希望の90%までしか満たさなかったとき、残りの10%を埋めてくれる解決策はこの「自動何とか機能」の中にはありません。

そんなときに、原理を理解していたら、低級レベルの基本的な仕様を知っていたら、解決できるかもしれません。そういう問題に直面したときに原理を理解するものいいかもしれません。


ちょっと脱線しましたが、スキンを適用後にボーンの位置を変えたい時があるかと思います。
そのときは「拡張パラメーター」ロールアウトの「常に変形」のチェックを一旦はずすとよいです。


ss6.jpg

これはかなり強力で、下図のようにボーンを移動した状態(オブジェクトは変形している)で、このチェックをはずすとオブジェクトは強制的に最初の状態に戻ります。 しかし、ボーンオブジェクトの位置はチェックをはずす前と変わらず、その後チェックを入れると、この場所が新しいボーンの位置(基点)になります。

ss7.jpg

さて今度は、この球を移動したいときはどうするとよいでしょうか?

今の状態では青ボックス/緑ボックス/球オブジェクトを選択して移動です。
できれば移動、回転などの基点は球の基点にしたいところです。

そこで使うと便利なのが「リンク」になります。
今回のケースでは一工夫必要になりますが、逆に理解できればあとは簡単です。
ボーンシステムもリンクの塊です。

いずれにしても「基点」が重要になります。

次回はボーンシステムとリンクを取り上げる予定です。
にほんブログ村 デザインブログ コンピュータグラフィックスへ
にほんブログ村
PR

Comment (0) | Trackback () | ▲TOP

Comment

  • メールアドレスは入力しても管理画面でしか表示されません。
  • コメント投稿時にパスワードを設定していた場合のみ、名前をクリックすると編集出来ます。

Vodafone絵文字 i-mode絵文字 Ezweb絵文字

Trackback

Trackback URL: