2007年07月05日

肩装甲の次はアレの頭作ってみた その20 modo 203

さて、今回はデカール貼りをやって行こうと思う。やり方はいろいろあると思うけど、一番手っ取り早いのは画像インクを使って既存のカラーマップに描く方法だと思う。でもやってみると・・・ウーム。

tutorial41まずは素直に全体にかかってるカラーマップである「color_all」に対して画像インクで塗ってみた。マップ自体が2048×2048ピクセルで出来ていて、その中に全てのポリゴンが割り当てられている都合上、ペイントする部分がマップに占める割合も小さく、使えるピクセル数も限られることから粗い映像になってしまった。しかし、同じ解像度でもPhotoShopで合成してみると、結果が随分違うようだ。使い方に何か問題があるのかなー。デカールみたいな輪郭がハッキリしたものを描く場合は画像インクをそのまま使うより、あたりを取るためだけに使って実際はPhotoShopで合成した方がいいようだ。

tutorial42次に貼り付ける部分の解像度を稼ぐために貼り付け部分だけのUVマップを作ってそれにアルファチャンネル付きの画像マップを貼って合成してみた。解像度が上がったので先の例に比べて格段に画像は良くなるが、やはり画像インクよりPhotoShop合成の方が格段に画質がいい。

tutorial43最後にテクスチャロケータを使ってデカールを合成してみた。こっちはオリジナルの画像をそのまま使っているのでレンダリング時の設定のみが画質に影響を与えるだけだ。ただし裏写りするのでグループで絞ったりして貼り付けたい部分だけに貼れるようにする必要がある。

画像インクの使い方はもう少し研究してみないと何とも言えないけど、いろんな変換や合成の演算が挟まるから綺麗に塗るのはなかなか困難なのかもしれないな。

それではまた次回。

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

カテゴリー別ページ

modo操作メモ



take_z_ultima at 12:25│Comments(5)TrackBack(0)modo | CG

トラックバックURL

この記事へのコメント

1. Posted by Puff   2007年07月05日 21:43
5 しばらく拝見できなかったので、昨日から読み進めました。読むだけで精一杯でしたが、、。「エッジ部分のディスプレイスメントマップについて」「消しゴムで消せる画像」、今回の「デカール貼り」とても参考になりました。消しゴムで消せる画像は、ディスプレイスメントで浮き彫りなんかする時に便利そうです。301だとmodoだけで手軽にできるようになるのでしょうか。「エッジ部分のディスプレイスメントマップについて」はディスプレイスメントマップ使用するとポリゴンが分裂したみたいになってしまう事がよくあるのですが、原因が解りました。
ちなみに、ディスプレイスメントマップを使用したオブジェクトがカメラに近い位置にあるとあっという間にレンダリング時にメモリ不足になるのは、普通の事なのでしょうか。レンダー設定のサブディビジョン率とディスプレイスメント率を調整して対処していますが。
2. Posted by take_z   2007年07月06日 01:08
ディスプレイスメントマップはご存知のように画像の濃淡を使ってメッシュを変形させる機能ですが、メッシュの目が粗い場合は画像のディテールが充分に表現できないという欠点があります。そこで出てくるのがマイクロポリゴンの機能で、元になるポリゴンを細かく分割してディテールを充分に表現出来るようにするわけです。この分割がどの程度行われるかの基準になるのがディスプレースメント率と最小エッジ長で、これらの数値とポリゴンを構成するエッジの長さを比較して、長いようなら2分割にすることを繰り返してメッシュを細かくして行きます。
3. Posted by take_z   2007年07月06日 01:09
ところで最小エッジ長が絶対的な長さであるのに対してディスプレースメント率はレンダリング時のピクセルのサイズを基準にした長さで、1なら分割されるマイクロポリゴンのサイズはレンダリング画像の1ピクセルの大きさと比較されます。この事は同じサイズのポリゴンでも画面上で大写しになっている時と遠くて小さくしか写っていない時では分割数に大きな差が出てくることを表しています。遠くてそのポリゴンが画面上で1ピクセルしか無い場合、ディスプレイスメント率が1なら分割されませんが、大写しで幅100ピクセルを占めるようならエッジが100分割されることになります(ポリゴン数は縦×横でその2乗倍になります)。これがカメラが近づくとメモリ不足が起こる原因です。メッシュの大きさから最小エッジ長を考えて、無茶な分割がかからないような数値に設定しておけば、うっかり拡大してしまっても、最小エッジの方でリミッターがかかりますから、安心です。
4. Posted by Puff   2007年07月06日 11:37
5 「サブディビジョン率」「ディスプレイスメント率」と「最小エッジ長」の関係調整で試行錯誤しました。「海に浮かぶ小舟のシーン」などは、海面から近い位置にカメラがあるとあっという間にメモリ不足になりますが、カメラをちょっと上にずらすだけで解決したりします。或は、岩場みたいなシーンでは、手前に少しだけ見えている岩でメモリ不足になったり・・・。経験と感の世界でしょうか。
5. Posted by take_z   2007年07月06日 16:59
自分はとりあえずディスプレイスメント率を2〜3で固定して、最小エッジ長を20mmとか50mmとか大きめにとってプレビューで作業して、レンダリング時にディスプレイスメント率を1にして、エッジ長をちょっとずつ小さくして様子を見ていくのがいいかなと思っています。設定をもう少し詳細にコントロールできるといいんですけどね。アニメーションになったらカメラ移動なんていくらでも起こりますから。

この記事にコメントする

名前:
URL:
  情報を記憶: 評価: 顔   
 
 
 

Archives