とりあえずブログ(3DCG制作メインの日記)

3DCGの知識がない人でも見れる感じにしてます。私が知識ないので(笑)

新しいページ | PAGE-SELECT | 過去のページ

≫ EDIT

デク子ちゃん製作

さて、ちょっと思いました。
全てにおいて慣れてないBlenderで、ボーンを勉強するより
SHADEの頂点ブレンドをまず勉強してみようと。

SHADEは最近まで独自な感じのボーンのシステムで、
割と最近他のソフトで見かけるようなボーンのシステムが付いたんです。
昔のを「クラシック」と言い他ソフトでよく見る感じのを「頂点ブレンド」と言う。

根本的に理解してないんだよね。
なんだか合計の数値が1にしかならない、とか???って感じだし。
こう…そもそもの概念と言うか、SHADEのクラシックのボーンのシステムとの違いと言うかね。

SHADEの方がツールの配置にも慣れてるので新しく覚えようとする「頂点ブレンド」
の事だけに集中して悩めるだろう…と

で、雰囲気だしてローポリのデク人形を作ってそれで人体のボーンを組んでみようと思った。
で、その為にはデク人形を作らないといけないわけで今日は製作だけしたwww

う~ん、もう近道なのか遠回りなのか自分でも疑問なのですが、とりあえずやってみます。
こんな感じで作り始め…
681a001.jpg
実琴のフォルムをテンプレートにしてなんとなく整える。

681a002.jpg
こんな感じで完成。指はめんどうなので省略。
ん…? デク人形にしてはちょっとポリゴン多すぎたか?
実験がしんどくならないといいけど…

681a003.jpg 681a004.jpg
とりあえずおっぱいは作らないとね
お尻も一応われてるぜ

名づけてデク子ちゃん!

さぁ、明日以降デク子ちゃんで頂点ブレンドを使ってみる

検索したけどあんまり頂点ブレンドの事書いてる記事ないんだよな~。
皆今更新しいの付けられても…クラシックで死ぬほど調整したのに捨てろって言うの?って
感じなのだろうか?
私はそんな感じで今まで触ってもいなかった。
スポンサーサイト

| 3DCG | 05:39 | comments:3 | trackbacks:0 | TOP↑

COMMENT

頂点ブレンドは…

頂点ブレンドはShadeで始まった機能ではないため、ユーザサポートもかなり投げやりでした。以前質問をしたことがあるのですが、「クラシックタイプで動くようならクラシックタイプを使っていれば良いんじゃないの?」みたいな感じでした…
そりゃShadeで完結できるならそうしてますよ…

私もジャッキーニさんと同じく、クラシックタイプから頂点ブレンドへと移行させる作業において「和が1(正規化)」という仕様に苦労しました。

和が1(=100%)になるということは動かしたいオブジェクトの体積が変わることなく変形できるという事になるため、どのソフトでもこの動きが生じているようです。なお、Shadeでは頂点ブレンドの正規化という言い方をしてますが、ウェイトのノーマライズ(Normalize)や正規化という言葉でも検索できるかと思います。

<参考>AutodeskのMAYAでの解説ですが、似たような事が書かれています。
http://area.autodesk.jp/column/tutorial/maya_atoz/skin_weights_1/

なお、正規化と言うのにこだわらなければ、デフォルトではONになっている正規化をOFFにすることで、これまでのクラシックタイプと同じように使うことも可能です。(数値も1.0以上を入力することが可能です。もちろんマイナス数値も可能です。)

そうなると注意しなければいけないのが、他のソフトに移行させるときに形状が崩れてしまうということになります。FBX等スキンデータもエクスポートできるような外部形式にした時、強制的に「和が1」となるため、そのソフト内では正常に動いていたオブジェクトが異常な動きになります。
※もしかしたら別のソフトでは正規化以外の方法でインポートすることができるのもあるかもしれませんが…少なくともBlenderではダメでした。

この和が1になるというのはそれほど難しい事ではないのです。例えばクラシックタイプで、とあるポイントにA=0.5、B=0.7、C=0.3のような複数のボーン(ジョイント)の数値設定がしてあった場合、和が1になると、次のような計算をするようになります。

(A)0.5+(B)0.8+(C)0.3=1.6となりますが、和を1として計算したいため比率によってこの数値が変化します。

現在、和が1.6ですが、これを1.0として計算したい場合…他の数値を62.5%に変更した数値に必要が出てきます。(1.0/1.6=0.625なので)すると…

(A)0.3125+(B)0.5+(C)0.1875=1.0

となります。つまり、こういった動きで合計値を規制し、形が崩れることを防ぐというわけです。

なので大変厄介なのですが、例えば肩あたりを例にとってみると、腕を上げるためのジョイントと肩全体を上げるジョイントがあったとします。これを両立させるにはそれぞれに数値を与えることになります。例えば、肩に0.7、腕に0.3で決まったとします。その後、ここは首も若干影響させたい(動かしたい)と思った場合、当然ですが、数値を与えなければいけません。

例えば入れたい数値が0.2位として、同じ数値を入れようとすると、肩・腕ともに勝手に数値に変更が生じます。(和を1に保とうとしますので…)
首0.2、肩0.6、腕0.2となり、他のポイントとは違う動きをするようになります。(周りは肩0.7、腕0.3なので)

そのため、このポイントを活かすために、他のポイントには首とは違うボーンを影響させるようにして、同様に数値を下げていきます。例えば背骨のボーンがあったとすればそれを代用に使って他のボーンも首の影響を行うためのポイントと同様に数値調整をします。(背骨0.2、肩0.6、腕0.2に変更して、該当ポイントとの整合性を付けます)

顔であれば首のボーン(ジョイント)が一番使えると思います。要するに分岐するボーン(ジョイント)があれば、その根本になるボーン(ジョイント)を使いながら新たなウェイトを入力すれば良いということになります。

…難しいですよね?これを理解するのって…v-404

こういうのが正しいやり方なのか分かりません(悩みながらたどり着いた結論なので…)が、機会がありましたらブログにでもまとめて解説してみようかと思います。

なので、当初は正規化になるというのにこだわらず(デフォルトでは正規化がON状態ですが…)、クラシックタイプ同様に好きな数値を入れて、ウェイトが大体固まってきたら改めて正規化にするというのも方法の一つかと思います。(なお、マイナス数値の入力はあまりお勧めしません。正規化するとマイナス数値のウェイトは異常な数値※に変換されます。正規化=体積の維持ということですので…)

※ちなみに数値を変換しないわけではありません。変換はしますが、Aは-10.0、Bは2.0、Cは11.0というような感じで無理矢理和を1.0にしようとします。たとえマイナス数値が小さくてもです…

なお、数値のみのコントロールは大変難しくなります。そのためにウェイトペイントのような機能があると思います。数値でコントロールするのは同じですが、どちらかと言うと頂点ブレンドの正規化は比率でコントロールするという感覚になろうかと思います。

クラシックタイプはダイレクトに数値が反映される感じですが、頂点ブレンドでは比率変更という感覚になるため、「そんな小さな数値でこんなに動くの?」という事(あるいは逆の場合)があろうかと思います。その感覚を掴むということがまずは第一歩かと思います。

私は当初この頂点ブレンドに馴染めず、身体は何とか頂点ブレンド化するところまでいけましたが、顔だけはクラシックのままの時がありましたv-402
最終的には一体化させるため、苦労して頂点ブレンド化させることが出来ましたが、表情のようにたくさんのボーン(ジョイント)がある箇所は特に難しくなると思います。

>クラシックで死ぬほど調整したのに捨てろって言うの?

まさにそのとおりなんですv-404
簡単には捨てられないんですけど、当時はBlenderを使いたかったというのがあるので、どうにか覚えて変換するところまでいけましたが…

>とりあえずおっぱいは作らないとね
>お尻も一応われてるぜ

良いですねv-411
とは言え、おそらくメインになるのは肩関節や股関節のような複数ボーン(ジョイント)のある箇所が悩みどころになると思います。でもまぁ、そこはおそらく入門編だと思います。頑張ってくださいv-363

Shadeのウェイトペイント機能は最低限のものしか実装していません。そのため、かなり苦労することも多いかもしれません。後からわかったことですが、Blenderはその機能がかなり充実してました。え?こんなこともできるの?と言うくらい違います。

ただ、初めに苦労を経験するというのも良いかもしれません(マゾじゃないですが…)ソフトの違いを経験するというのも良い勉強になると思います。
慣れたソフトで感覚を掴んで、多機能ソフトでその違いを実感する。と言うのは私も良い勉強になりました。

私は使ってませんでしたが、まささんが頂点ブレンドに移行する際、クラシックタイプと整合性が取れるようなプラグインを作ってくれていますね。

「頂点ブレンドスキン適応チェック」
http://atsites.jp/masatoshi/soft/shade/lib/check_blend_skin/check_blend_skin.html
※おそらくマイナス数値等、変換しづらい値を見つけてくれるんだろうと思います。

>検索したけどあんまり頂点ブレンドの事書いてる記事ないんだよな~。

確かに記事がありませんね…頂点ブレンドが他ソフトへの移行させるための機能かと思いますので、Shadeはあまりやりたくないのかも?(他のソフトへ移行するのを防いでいる?)と思います。

でもまぁ最近やっていたのですが、Blenderでパースモデルを作って、Shadeでレンダリングするというのは面白いです。Blenderでもきれいなレンダリング(cycles)で出来ますが、Shadeのラジオシティは大変綺麗なので、比較したりしながら楽しんでましたv-407

一つのソフトですべての作業が完璧に完結できればそれに越したことはありませんが、相当なハイエンドソフトにならない限りそれは望めないだろうと思います。
そういう意味では移行のしやすさと言うのは重要なことではないかと思います。

なお私は最終的には数値を直接入力しましたが、大体の作業はウェイトペイントでやりました。ちょっとしたことでは有りますが、塗りで使う影響範囲をコントロールするための操作として覚えておくと良いと思いますが、右クリックをドラッグすることでも(あるいはAlt+左ドラッグ)影響範囲の拡大・縮小ができるようになります。マグネットも同じですが、覚えておくと作業がやりやすいかと思いますv-411

後はShift+左クリックで塗りの減算にもなりますので、作業は直感的にできると思われます。

以上長くなりましたが、Shadeでの頂点ブレンド作業の注意点などを書きましたので、ご参考にしてくださいv-411

| 喜多川春望 | 2015/04/26 12:51 | URL | ≫ EDIT

デク子ちゃんでは可愛そうなので、ダミ子ちゃんと呼ぶ事にしますw
って、既に胸付きなのが面白いっす!www
と、言うわけで「バイオリベ2」始めました♪v( ̄ー ̄)v

| にいおか | 2015/04/27 01:37 | URL | ≫ EDIT

>喜多川春望さん
どもです。
ほほう…なるほど……ごめんなさい正直理解できてないですv-406
今日はちょっと時間取れそうにないので時間取れた時に
実際にまずボーン組んで、スキン設定して悩んでみようと思います。
まだ触ってないので疑問を持つ事すらできない状態ですのでv-393
いつもいつもありがとうございます、助かります!


>にいおかさん
どもです。
デク子ちゃんは可哀想ですかw
では改名して傀儡(くぐつ)ちゃんにしますw
胸つきなのは、これからしばらく弄る事になるのでやっぱねぇ…
ローポリのテスト用にしても男子より女子弄ってる方がいいな、と思ったのでw

リベ2始めましたか。
バイオ慣れしてないと難しく感じる事もあるかも知れませんが
普通に一定以上の面白さはあると思うので負けずに頑張ってください。

| ジャッキー | 2015/04/27 04:08 | URL | ≫ EDIT















非公開コメント

TRACKBACK URL

http://tk13d.blog64.fc2.com/tb.php/991-343d28cb

TRACKBACK

新しいページ | PAGE-SELECT | 過去のページ