☆LightWave3D☆ ~Free Diary~

悪戦苦闘の3D制作の日々と、悪戦苦闘の日常を書き記していく日記です。

   


カテゴリー「3DCG」の記事一覧

2013/05/12 【法線マップを作る。(後)】

2013_05_hyosi.jpg
前記事の続きです。
(前記事:http://suzukky.anime-movie.net/Entry/202/

 

(3)の続き。(Layout)

オブジェクトアイテムを選択した状態で「変形状態のオブジェクトを保存」したらLWのモデラーに移ります。
(保存名:BOX_Hi)

 

 

(4)「LW(Modeler)」:ひとつにまとめる。


nml_0014.jpg

モデラーを起動して、「BOX」と「BOX_Hi」を開きます。
(「BOX_Hi」は数百万もするハイポリの為、モデラーの動作が酷く重くなる。)

「BOX」の空いているレイヤーに変形状態のBOX_Hiのモデルをコピー&ペーストします。
折角ハイポリで変形されたボックスがあるので、ローポリの方のボックスを分割して形状を似せてやりましょう。



nml_0015.jpg

細分化を数回かけてボックスの角あたりをバンドソープロで分割します。




nml_0016.jpg

分割すると、ボックス(ローポリ)のUVビューがポイントまみれになっていますが気にせずやっていきましょう。。

さぁ、ここでLW11.5の新機能「熱圧縮」の出番です。
ローポリを前景にしてハイポリを背景表示にします。
「熱圧縮」のコマンドを押すとモデラーがフリーズしますが、30秒か1分くらい放置すれば使えるようになります。



nml_0018.jpg

熱圧縮のパネルを設定するとハイポリの形状に沿ってローポリが変形されます。



nml_0020.jpg

これにより、ディスプレイスメントマップによる変形と比べてポリゴン数が抑えられる上にノーマルマップで細かい凹凸を見せるのでポリゴン数の削減になります。



nml_0021.jpg

後は、レイヤーに名前を付けて



nml_0022.jpg

ハイポリとローポリにサーフェイス名を作成。

そうしたらモデラーのファイルを保存してModoへ移ります。
(保存名:BOX_NORMAL.lwo)


 

(5)「Modo」:ノーマルマップを作る。

nml_0023.jpg

Modoを起動して「BOX_NORMAL.lwo」を読み込みます。
ローポリとハイポリそれぞれのアイテムが用意されていますね。



nml_0025.jpg

ローポリを前景に、ハイポリを背景に表示させます。
シェーダーのレイヤーに移り、ローポリのマテリアル(Low)のレイヤー名を選択して、レイヤー追加から....

画像マップ → (新規画像)

(新規画像)でノーマルマップ用の画像を新しく作成します。
(名称:Box_NormalMap)

解像度とピクセルフォーマットを設定したらOKを押す。

シェーダのレイヤーに画像が追加されました。

エフェクト欄のディフューズ色を右クリックしてサーフェイスシェーディングから法線に変更。

画像の名称(Box_NormalMap)を右クリックして「オブジェクトからテクスチャへベイク」します。

「距離」の数値は低ければ低いほど凹凸が平らになります。
例えると、凹凸な鉄板を金づちで叩いて平らになるような感じです。
これは値が大きすぎても「BOX_Hi」以上の凹凸表現をしないのでなるべく大きめの値を入力しておけば良いみたいですね。

OKを押すとレンダリングが始まります。
ものすごいハイポリモデルをテクスチャベイクする場合はかなり時間が掛かる事があります。


Box_NormalMap_0001.jpg

レンダリングが終わるとノーマルマップが出来上がりました。
 



- 補足:ノーマルマップ失敗 -


nml_sippai_001.jpg

「オブジェクトからテクスチャへベイク」する時にマップの凹凸が逆の結果になってしまうケースがあります。
この問題について「Zで行こう!」様のブログで詳細が書き記されていてとても参考になりました。

もし、この失敗が起きたら以下の手順を行います。

リストタブのUVマップから新しくUVマップを作成。
古いUVマップ名をコピーして新しいUVマップ名にペーストします。

シェーダータブのレイヤーに含まれている画像(法線)を選択して、そのままプロパティパネルのテクスチャロケータをオンにしてプロジェクションのUVマップを新しいUV名に入れ替えます。

これで再度「オブジェクトからテクスチャへベイク」をすれば正常なノーマルマップが書き出されるはずです。

 

正常なノーマルマップを書き出して保存したらLWのレイアウトに移ります。


 

(6)「LW(Layout)」:ノーマルマップを追加する。
 

レイアウトを起動してローポリのボックスを読み込む。
色・質感編集パネルを開き、ノードをオンにしてノード編集パネルを開きます。
ノード追加 → 2D Textures → 「NormalMap」を追加して先ほど作ったノーマルマップを読み込みます。
後はサーフェイスのノードに繋げばOK。


nml_0034.jpg

VPRでも確認出来ます。

 

- 追記1:ノーマルマップの編集・合成 -

nml_0036.jpg

それぞれのマップを適用したオブジェクトアイテムを見比べると、ほぼ同じアイテムが並んでいるように見えますね。

後は細かい凹凸をバンプマップで付ければ良いかと楽観に思っていましたが、ノーマルマップとバンプマップの両方を同時に使う事は出来ないようです。
ここはノーマルマップで全ての凹凸を付けたいところですが、それをディスプレイスメントマップで付けてベイクするのは自殺行為に等しいです。
変位マップの細かい凹凸をポリゴンで出すのは後の作業に大きな負担になります。

そうなると...



Normal_Base_0001.jpg ベースの凹凸。

変位マップのペイントで大まかな凹凸を付けてノーマルマップにベイクしたものを1枚。



Normal_Ditail_0001.jpg バンプから変換した細かい凹凸。

細かい質感レベルの凹凸はバンプマップで作成して、それをPhotoshopでノーマルマップに変換したものを1枚。
(ノーマルマップに変換するにはNvidiaのPhotoshopプラグイン、[NormalmapFilter] を使用します。)

この2枚を合成するのが合理的です。
合成の方法を調べてみるとPhotoshopのレイヤーをハードライトにするだけで凹凸を重ね合わせる事が出来るようです。



Normal_Mix_0001.jpg 合成できた。

もっと難しい方法なのかと思っていましたが簡単に出来ますね。
ハードライトのレイヤー種が無い場合はペイントソフトの場合は調整レイヤーでかなり手間な作業になるようです。




nml_0039.jpg

合成した結果も良いですね。
 

 

- 補足:ノーマルマップの種類 -

ノーマルマップと一言で言っても種類があるようです。
LWのノーマルマップ作成プラグインやシェーダーのベイクなどで出来上がった虹色のマップはワールド法線と呼ばれているみたいですね。
下の画像のボックスでは色がはっきり分かれますが、全体的に虹色掛かっててで凹凸が付いています。
 

【ワールド法線】
c8c0c791.jpeg

このマップはLWの標準機能では正しく表示されないようで、TB_Labo様が作られたプラグイン「NormalMapShader」が必要になります。


Modoの扱いに慣れていないので、改良する点があると思いますが、一通りの作業の流れや注意点などをまとめました。
相変わらず文章力と睡眠時間が無いので上手くまとめた気がしない・・・でもこれで、LWでノーマルマップの凹凸を上手く付けることが出来るかな。
Modoのテクスチャベイクも法線以外にも利用出来そうなのでLWと上手く連携出来たらと思います。

 

拍手[2回]

カレンダー

07 2019/08 09
S M T W T F S
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

プロフィール

HN:
d_suzukky
性別:
男性
自己紹介:
こんにちは、d_suzukkyです。

田舎暮らしでのほほんと3DCGの勉強をしています。

ブログ内検索

Booklog

最新トラックバック

バーコード

フリーエリア

Copyright ©  -- ☆LightWave3D☆ ~Free Diary~ --  All Rights Reserved
Design by CriCri / Photo by Geralt / powered by NINJA TOOLS /  /