2008年03月

2008年03月31日

ベクターディスプレースメントマップの加算 modo 301

ユーティリティーの変位テクスチャの追加でベクターディスプレイスメントマップを追加すると、レイヤーのブレンドモードは加算として設定される。だからおそらくベクターディスプレイスメントマップを重ねて合成するために想定されているブレンドモードは加算なんだと思う。しかし実際に加算するとどうも変な感じになるので検証してみた。

パースビューまず球体に変位テクスチャを追加して、スカルプトの押し出しで突起を作ってみた。



トップビューこれを真上から見たところ。

ブランク画像を追加そしてこれにブランクの変位テクスチャを追加してみるとレンダリング結果がこのようになった。この時、作業ビューポートの方は全く変化無しだ。だからこの異常事態に気が付くのはレンダリングしてからって事になる。

サイドビューこれは横から見たところ。何かどっかで見たことのある異常事態だ・・・。

UVマップこれはUVマップ上で突起がどの方向に倒れたかを矢印で示してみたもの。

さて、どこでこんな感じの現象を見たんだろう?そう。法線マップのベイクだ。球体表面の法線をワールド座標系で求めて法線マップとしてベイクし、それをポリゴンメッシュの法線を基準としたローカル座標に貼り付けた時に、同じような事が起きたよね。詳しくは過去の記事を見てね。どうもあれと似た現象がここでも起きている感じだ。

Aというベクターディスプレイスメントマップレイヤーに、Bというベクターディスプレイスメントレイヤをブレンドモード加算で重ねた場合、レイヤーBに係わらず、何故かAがAに対して加算される演算が行われてしまっている。しかもその演算は一度ワールド座標系に変換されたベクターデータをポリゴンローカルに貼り直した時の様に、ローカル座標回転が2回施されたものと、1回だけ施されたものとの加算になっているようだ。だからZ軸のプラス側は回転が無いので突起が2倍に伸び、マイナス側はポリゴンの法線が180度回転しているからその上に乗っている突起も180度回転し、さらにそれをもう一度180度回転させたものと加算されてプラスマイナスゼロになってしまっているわけだ(突起が消えている)。真横のX軸上の突起は90度回転した突起と90度+90度=180度で回転した突起の合成で135度方向を向く事になる。

ブレンドモード標準非常に困った事態ではあるんだけど、解決策が無いわけじゃなさそうだ。左の画像は上で紹介したベクターディスプレイスメントマップの2枚合成をブレンドモード「標準」でしたものだ。こっちはおかしな変換が起きずに元のままレンダリングできている。

重ねる画像上の画像に重ねた画像の方にスカルプトでこんな突起を作ってみた。これを重ねてブレンドしたらどうなるか・・・。

加算で合成した時のビューポート表示まずはブレンドモード「加算」で合成した時のビューポート表示。今まであった突起に新たに追加した突起が加算されて最初の突起からさらに出っ張っている形になっている。加算なんだからこれが正解だよね。

加算で合成した時のレンダリング結果ところがこれをレンダリングするとこんな悲惨な結果に・・・ってのがこれまでの流れ。

標準で合成した時のレンダリング結果ところがこのままブレンドモードだけ「標準」に変えるとあら不思議www。レンダリング結果が加算合成になる。

標準で合成した時のビューポート表示しかしいい事ばかりじゃない。標準でブレンドした場合のビューポートはこのように上書き状態になり、2つのマップは加算されない状態で表示される。突起がさらに出っ張るんじゃなくて削れているのが確認できるでしょ?

結論から言うと、作業は加算のまま進めて、レンダリングの時に標準でブレンドって事で、なんとかなりそうな感じだ。

ずらしたUVマップの影響ブレンドについてはUVマップの影響についても変な事が起こったのでここにまとめて書いておくと、左の画像は2つのベクターディスプレイスメントマップを重ねる時に球体に貼り付けるために用意したUVマップだ。下のマップを左上方向にずらしたのが上のUVマップだ。今までの実験は全て同じUVマップに対しての話だったけど、違う場合はどうなるかって事だ。

ずらしたUVマップの影響で、ビューポートではこんな事になる。何が起こったかって言うと、何も描いていない重ねた側のUVマップを使って突起を描いた画像が再び表示されてしまい、オリジナルの突起とずれた突起の両方が表示されてしまう。だから突起の数が倍になる。今までは同じUVマップだったから重なっていて気が付かなかっただけなんだな。でもレンダリングには影響が出ない。

あくまで自分の環境で試した結果なので、みんなこうなるとは限らないとだけは書いておくよ。たぶんちょっとしたプログラムの見落としだと思うんだけどね。

それではまた次回。

スクリプトまとめページ( Down Load はこちらから)  

カテゴリー別ページ 



take_z_ultima at 12:08|この記事のURLComments(2)TrackBack(0)modo | CG

2008年03月30日

スカルプトの練習してる? その4 modo 301

ピクセル密度作業を進めて来て細かいディテールを作り込もうとして左の画像のように線がガタガタになっちゃう事があるよね。要するにピクセル解像度が足りなかったわけだ。どんなに頑張ったって1ピクセルより小さい点は描けないってのがCGの常識だ。だからと言って画像解像度をいたずらに上げてしまうと、使うリソースもバカにならないし、パフォーマンスに響いてくる。じゃあどうすればいいかって言うと、ピクセルはなるべく効率よく使いましょうって事だ。

元のUVマップ左の画像は今回使っている頭のUVマップだ。イメージマップはこのUVマップに対して正方形のものが1×1のUV座標いっぱいに張られていて、そのうちUVマップのメッシュが存在する部分だけが使われているわけで、メッシュ外の部分は全く無駄になっているわけだ。それに頭部なんてスキンヘッドじゃなければ髪の毛で隠れちゃうし、細かいディテールが必要なのは顔面中心の目、鼻、口の部分だ。

顔の中央を広げたUVマップそこでこんな感じで詳細なディテールが必要な部分は面積を広く取り、どうでもいい部分は縮めたマップを使う手もあるわけだ。ただしこのマップには欠点もある。それは先に示したものに比べてマップの歪みが大きい事だ。だからこのマップに対してペイントツールで塗るのは簡単だけど、他の画像編集ソフトでイメージマップに直接何か描きこんだりするのはかなり難しい事になる。幸いな事にmodoでは何枚でもUVマップが持てるので、いろいろ作っていい方を使えばいい。ただ残念な事に自分の環境ではレンダリングはうまく行くんだけど表示がうまく行かないケースが多い。この辺はやっぱりOpenGLがキチンとサポートされたグラボだとうまくいくのかな?

自分の環境でどうなっちゃうかというと、同じメッシュに異なるUVマップを貼り、それぞれに対してベクターディスプレイスメントマップを貼ると、作業用のビューポートでの表示は1つずつのイメージマップがそれぞれ2つのUVマップで貼り付けられて表示されてしまう。

マルチUVでの表示のトラブル左の画像は顔面中央を広げたUVマップを追加して、そこにベクターディスプレイスメントマップを貼り付けて従来のマップに重ねた時のアドバンストGL表示の様子。目の縁を描いた従来のマップがちゃんと表示された横にもうひとつの目の輪郭の凹凸が確認できる。

全体でもこれをレンダリングすると何とも無いんだよね。だから重ねた画像を表示しないで作業すれば問題無いんだけど、ちょっと残念だよね。重ねて表示したままスカルプトツールを使おうとするとスカルプト自体はブラシストローク通りに施されるんだけど、表示はこういう混乱が起きているので、ちゃんと塗れているかを確認できない。プレビュー画面はちゃんと出るので、そっちを見ながら作業すれば出来ないことは無いけど、レスポンスがねぇ・・・。

編集部分だけ表示にする解決策とまでは行かないけど編集したい部分だけ残して、他は非表示にしちゃうのもいいかも知れない。これで下のマップとある程度位置関係を把握してから編集しない画像を非表示にしてビューポートの方で作業するなんて方法もあるかな?UVマップをちょっと広げたものを使って眉毛を描き入れてみたけどまだ解像度が足りない感じだな。


異なった画像解像度でマップを重ねてレンダリングそこで思い切って2048×2048ピクセルのイメージマップを貼って見る事にした。眉毛の位置は適当にやったらずれちゃったんだけど、解像度的には充分な感じになった。だた、今度は何だかディスプレイスメントが強くかかり過ぎている感じだ。

マップの上限下限を変更したそこでテクスチャレイヤの不透明度を2つの画像共に50%にしてレンダリングしたのが左の画像。どうにか元の凹凸に戻った感じだ。解像度が違ったのが原因だろうか?

とまあ、今日のところはいろいろ試しているだけで進展少なく時間となってしまった。ここまでコストを払って細かいディテールをベクターディスプレイスメントマップでする必要があるのかって言われたらそれは「NO」だな。こんなことしなくてもバンプマップを使えばもっとすんなり事は解決するよ。何でも適材適所だな。

ちなみにベクターディスプレイスメントマップを描いた後でUVマップを変更したくなった時の話は以前試してみたので、興味があったら読んでみてちょ。

それではまた次回。 さて、花見だ!

スクリプトまとめページ( Down Load はこちらから)  

カテゴリー別ページ 



take_z_ultima at 13:27|この記事のURLComments(0)TrackBack(0)modo | CG

2008年03月29日

スカルプトの練習してる? その3 modo 301

目の周辺今度は目の周辺を弄ってみる。何だか美容整形のブログっぽい雰囲気になってきたなwww

方針さて、目の付近は次のように弄ってみようと思う。
A:眉毛のふくらみを作る
B:上まぶたをなだらかに膨らます
C:溝を作って二重にする
D:涙袋を作る
E:この部分は均して膨らみを減らす

上まぶたまずは押し出し+スムースブラシ:オフセット5%程度で上まぶたを膨らましていく。

上まぶたをスムースある程度膨らましたらスムースで均す。これを繰り返しながら膨らます。

涙袋今度は下まぶたを膨らませて涙袋を作る。

スムースで均すスムースで均す。

涙袋の下を削る涙袋の下を彫刻で削る。

スムースで均すスムースで均す。上まぶたのカーブも微妙に調整。

上まぶたに溝を彫る彫刻で上まぶたに溝を彫る。この細かさになってくると、このあたりのピクセル密度が不足している事が顕著になって来た。溝を彫るとピクセルの四角い模様が現れてくる。やっぱり目のように重要でかつ細かいディテールを持っている部分はUVマップも出来るだけ広く取るようにした方がいいな。ここまで来たら後戻りは・・・。

接線方向に締め付け接線方向に締め付けで溝に向けてピクセルを集める。オフセット量が多過ぎると歪みやすいので、3〜5%くらいにしてちょっとずつやっていく。

スムースで均すスムースで均すと溝がどんどん消えてしまうので、スポットを小さくして溝のエッジを潰さないように均す。

頬の加工次に目の下から頬の部分を加工する。このあたりはこんな感じの面で捉えて削っていく。

前面を削るまず正面部分を彫刻でガリガリ削った。

スムースで均すボコボコになって来たら均したり削り過ぎたら押し出したりしながら加工する。

横顔側面の方は全体のバランスを見てからにしておく。

眉毛眉毛の位置を決めて押し出す。

均すスムースで馴染ませる。

全体今のところレンダリングするとこんな感じ。相変わらずノープランなので特徴の無い顔だ。

それではまた次回。

スクリプトまとめページ( Down Load はこちらから)  

カテゴリー別ページ 



take_z_ultima at 12:15|この記事のURLComments(0)TrackBack(0)modo | CG

2008年03月28日

Photoshop Express beta 公開

アメリカでオンラインサービス「Photoshop Express beta」が公開されてPhotoShopの一部機能をオンラインで利用できるようになった。

写真のストレージ、公開、共有、補正などが無償で可能。現在、2GBのフリースペースを利用できる。

ただし登録時の国の選択肢は今のところアメリカのみ。 

http://dc.watch.impress.co.jp/cda/other/2008/03/27/8219.html



take_z_ultima at 20:19|この記事のURLComments(0)TrackBack(0)CG | その他

スカルプトの練習してる? その2 modo 301

さて、ラフにメッシュスカルプトをしたので、今度はイメージベースでディテールを詰めて行こう。

UVマップこのメッシュのUVマップはこんな感じになっている。modoならエッジを選択して展開ツール一発でこんなUVマップを作れるわけだけど、これに慣れていて、たまに他のソフトを使うと死にそうになるなwww。

今のところちょっとUV境界はヤバイので、目立たないところで切り開いておくといいよね。ただ、細かいディテールが要求される目や口などの主要なパーツが中心に小さく集まっちゃってるのはちょっともったいない気もするね。

詳細部分だけ拡大する方法もいっそのこと、こんな感じで顔面の中央部だけ大きく引き伸ばして、あまり詳細が必要ない部分ははしょっちゃうのもアリかも。それともマップは重ねて行けるから、分けて見る?こういう疑問はちょっとずつ試しながら最適な方法を見つけて行かないとならないだろうね。
こんかいはUVマップを弄らないで進める事にしたよ。貼り付けた画像はOpenEXRで1024×1024RGB浮動小数点50%グレーでカラー設定のもの。変位テクスチャ追加をした時のデフォルトの奴だ。上限下限が65.9173 %〜-65.9173 %になる。この値はなんだろうね。

全体前回のメッシュスカルプトを改めて見直すと口元が酷いことになってるなwww。でもまあこの辺まで来たらイメージマップで修正してもいいのかなと思ってそのまま放置。最初にするのは対称モードをX軸対称にする事。これを忘れちゃうと手間が倍になるよ。もちろん左右対称の顔なんて本当は無いけどね。その辺は最後に調整した方が楽だろうね。



頬と上唇の加工方針さて、そこでまず気になる鼻から口角、そして鼻の下から上唇までのところを修正してみる。計画としてはこんな感じ。

小鼻回りの彫り込みまずは小鼻の周りを彫り込んで、膨張や押し出しで小鼻をちょっと膨らます。

彫り込んだ状態密度モード加算でオフセットを5〜8%くらいにしてゴリゴリやってると、だんだんボコボコになってくるので、適度に変形したらSHIFTを押しながらこすって滑らかにならす。押し出しと彫刻もCTRLで切り替わるので、押したり引いたりならしたりしながら形を整えて行く。

境界線を彫り込む小鼻の輪郭から溝を延ばして彫り込んで行く。ここは単純な溝になると言うよりほっぺたと上唇で段差になる部分なので彫った溝の上唇側はスムースでならして溝のエッジの半分を消す。

接線方向に締め付け溝を引き締めるために接線方向に締め付けツールで溝方向になぞる。

上唇を削る次に上唇の上の部分のふくらみを彫刻ツールや平坦を使って削って行く。

削っただけの状態荒削りして行くとこんな感じでボコボコガサガサな感じになるけど、形だけに集中してガリガリと彫って行く。
削り過ぎたらCTRLを押しながら押し出してやって、また削ってって感じでやって行く。やり直したくなったら減衰ツールで撫でるとメッシュスカルプトだけの状態に戻っていくよ。

スムースでならすある程度まで形が出来たらSHIFTでスムースに切り替えてなめらかに均す。

上唇のエッジを作る上唇の上の部分を接線方向に締め付けツールでなぞって、エッジを立てる。

下あごの加工下あごの部分を削って、唇を押し出しで膨らます。

ボコボコになったらスムーシングボコボコになって来たらスムーシングで均(なら)す。

均した均すと綺麗になるのでこれを繰り返しながら形を整えて行く。

こんな感じにしてみたあんまりヒダがくっきりすると年取った感じになるので適度にね。特に口の横から下へのヒダは年齢が上がるほどハッキリしてくるので、鼻からの筋がかからないようにした。こういうスジがハッキリ出るのって口角を引いた時だから、唇をちょっと左右に引っ張って笑顔にでもした方がいいかな。目的がスカルプトの練習だったので、何も考えずに始めちゃったけど、そろそろどんな顔にするか考えないと、とんでもない事になりそうだな(今頃かよ!)。

口元はそれっぽくなって来たので、忘れず画像を保存しよう。それには「全ての画像を保存」か「全て保存」が手っ取り早い。

シワ

ところで作業中に口の位置が気になったので、ソフトドラッグツールでちょっと持ち上げてみたら鼻の下にこんなシワが発生した。こういうのはポリゴンが無理な形状をしている事から発生したりするので、イメージベースのスムースで取ることは出来ない。

メッシュモードでスムースでも、スカルプトのスムースツールのペイントモードを自動からメッシュに切り替えて撫でたら綺麗に解消した。自動の場合は変位テクスチャがあるとイメージベースになっちゃうので、こういう切り替えも大切だ。でも戻して置くのも忘れないようにね。

それではまた次回。

スクリプトまとめページ( Down Load はこちらから)  

カテゴリー別ページ 



take_z_ultima at 12:45|この記事のURLComments(0)TrackBack(0)modo | CG
Archives