2014年08月20日

ノーマルマップとは!part2 ノーマルマップをつくろう!

Part1ではなんとなくノーマルマップの説明をしました。
完全に理解しなくとも、なんとなくでもまず作ってみるとより理解が高まると思います。
それでは早速作り方に入ります。
ここからは3Dモデルを作ってみたことある方がメインになりますが、
こんなことができるなら3D始めよう!となるような解説をしていきたいです!

用意するもの モデル
お好きな作成したポリゴンモデルの
ハイメッシュモデル(ポリゴン数の多いモデル、ハイポリ)
ローメッシュモデル(ポリゴン数の少ないモデル、ローポリ)
それぞれOBJ形式で書き出してください。ツールはなんでもいいですが、
ローメッシュは必ずUVを持ったモデルにしてください。
大概の3DCGツールでOBJ出力時は法線情報の出力ができると思うので、
ローメッシュは法線情報有りで書き出してください。

今回はPart1冒頭で使ったキューブをつかって説明していきます。
ローポリ Mayaで作成し、すべてソフトエッジ(Average Normalと同じようなもの)にしたものです。
lowpoly.jpg
ハイポリはZbrushで細かく割って150万ポリゴンぐらいにしたものにスカルプトして模様をいれました。
highpoly.jpg

Zbrushをやっている方はスカルプトした際の、
下のサブディビジョンレベルのモデルや、Zremesher等でリダクションしたモデルを
ローポリとして使用すると良いと思います。(ZbrushはUVが無いことが多いので忘れずにUV展開してください!)

用意するもの ツール
Xnormal
無料の各種マップ作成ツール
精度が高い上に細かい設定と、書き出せるマップの種類、ベイク速度等どれをとっても優秀なツール。
http://www.xnormal.net/1.aspx
HPに行き

Downloadをクリック
down.jpg

飛んだ先の一番上の青枠の点線内をクリック
ver.jpg

さらに飛んだ先の中からインストーラーをクリックしてダウンロード!(日本からだと結構時間かかります。)
exeorsdk.jpg
アップデートがこまめにありますので、その時々で画像以外の最新バージョンを落としてください。

インストーラーがダウンロードできたら起動し、手順に沿ってインストールしてください。
途中止まってよくわからないものを入れようとしますが、どれも必要な物なので全部入れてください。
すべて終わるとデスクトップにxNormalのアイコンができますので、ダブルクリックで起動!!
icon.jpg

起動しますとなんだかレトロなウィンドウがでてきます。
window.jpg

これでツールの準備完了です。
左下にある電気プラグのところから使用言語を日本語にもできますが、経験として英語でなれておくと他の日本語化されていないどのツールを使用しても混乱がないので、最初辛いかもしれませんがこのまま使用するのをおすすめします。

それではいよいよ実際の作業手順になります。
・まず書き出しておいたハイメッシュのOBJファイルを「High definition meshes」のタブをクリックした先のウィンドウ内にドラッグアンドドロップします。
high.jpg
・次に書き出しておいたローメッシュのOBJファイルを「Low definition meshes」のタブをクリックした先のウィンドウ内にドラッグアンドドロップします。(恐らくわかるので画像割愛)

・それぞれ設定できそうなどころがみえると思いますが、まずはそのままにしておいてください。下手にいじると失敗したときの原因究明が難しくなります!
・次に「Baking options」のタブをクリックした先のウィンドウで、書きだすファイルの設定をします。
最低限設定するべきはファイルパス(緑四角に…のボタンクリック)、大きさ、書き出すファイルの種類ぐらいです。
bakingoption.jpg

以上とりあえず設定が完了です!GenerateMapsをクリックで書き出しが始まります!
別ウィンドウが開きだんだんにノーマルマップができていきます。
UVがない、ファイル形式に不備がある場合途中で処理がとまります。
たまに、2つの形状でサイズが違うよ!みたいなことがいわれますが、無視しても大丈夫です。

私も先程のモデルを書き出してみました。
cube_normals.jpg
キレイに焼けました!
これをToolbag2に持っていってローポリメッシュに貼ってみますと...
cubefinish.jpg
数十ポリのモデルなのに150万ポリと同様の見た目をえることができました。

いかがでしょうか?手元にモデルがある方は是非お試しください。
今回は形状がとても簡単でしたが、クリーチャー、人型、機械、どれでも作業は同じです。
このパートはひとまずこれで終わります。
次のパートではさらに精度を出すための設定や、つまづきやすい点をあげていきたいと思います。

追記
ベイク中エラーが出た!どうも結果がまずい!その場合は解決策があるかもしれません、お気軽にコメントにでも疑問点等書き込んでみてください。
もしよかったらこっそりキャプチャでも見せていただければ、より具体的なアドバイスも出来ると思います。
ただハードウェアの問題で相性がわるくそもそもツールが立ち上がらないとか、ベイク時に落ちる等は対応できません。ご了承ください。

Xnormalを終了するときにはウィンドウ左下の☓ボタンを押します。
PCによってはその際画面が一瞬暗転しますが、これが仕様のようです。こわいですね^^
posted by momo at 23:20| Comment(0) | 日記

ノーマルマップとは!Part1

今回はノーマルマップという魔法のようなマップのことについて説明します。
長くなるのでパートで分けます。Part1はノーマルマップについてやさしく解説します。

3DCGをやっている方なら一度は目にしたこと、聞いたことはあるかもしれません。
ノーマルマップのノーマルとは「normal=法線」で要は法線マップということです。
法線と聞くと難しそうで手がでにくくなりますが、今回は法線を理解しなくても、
なんていいマップなんだろう!使いたい!と思えるような優しい解説を心がけます。
使っていくうちに知識はあとからついてきますしね!

ということで早速実例です。
簡単なキューブの角をとったモデルを用意します。(Toolbag2というビュワーを使ってます。)
simplecube.jpg
なんの面白みもないですよね。しかもポリゴンの数も少なくてこれ以上どうていいのやら...
ではそれにノーマルマップを貼ってみます。
normalcube.jpg
えっ!何かが浮かびあがった!しかもちゃんと立体にみえる!

これがノーマルマップのちからです。すごい!
ちなみにこちらがノーマルマップになります。
cube_normal.jpg
ではノーマルマップとはなにかというと、
この例ではポリゴン数は少なく、複雑な形状を表現できません。
ところがノーマルマップをはることでポリゴンの代わりに擬似的な立体を作り出すことができ、
またデコボコの単位はピクセルととても細かいものなので複雑、微細な形状の表現ができます。
色を表現するのがカラーテクスチャ、ディフューズテクスチャだとすると、
デコボコを表現するのがノーマルマップですね。

でもこれを何につかうの?
そんなことしなくても、別にZbrushとかみたいにたくさんポリゴン使えば
なんでも表現できるじゃん!
ごもっともです!
しかし、それではなかなか使い物にならないのです!
例を出しますと、ゲーム制作の現場では表示できるモデルのポリゴン数がある程度決まっていたりします。
ポリゴン数を無限に使うと、メモリに乗らなかったり、モデルデータ自体の容量が大きくなったり、
アニメーションさせるにも計算がとてもたいへんになったりします。
せっかくモデル作ったのにゲームに使えない!それどころかゲームを動かなくしてしまう!!
そんな悲しいことないですよね。

そこで使うのがこのノーマルマップです。
ポリゴン数を減らしたモデルにノーマルマップを貼ることで、
あたかも複雑なポリゴンモデルのように見えます。
最近ですとPC、今世代据え置き機ではかなり多くのポリゴンが使えるようになりました。
それでもシワや細かい傷、装飾等クオリティアップのため外すことのできないマップとなっています。

以前作ったモデル 
かなりのポリゴンを使っていますが、右のノーマルマップを貼ったものと比べるとやはりボケボケです。
before_after.jpg

なんとなくわかっていただけましたでしょうか?
次のパートでは実際ノーマルマップの作り方を解説してゆきます!!
posted by momo at 21:44| Comment(0) | 日記

2014年08月19日

オリジナルキャラクタ第一弾

Zbrushのみで作成し、完成していましたが公開できるような段階になりました。

ターンテーブル出力しました。PBRレンダリングではないのでキレイでは...この解像度ではどのみちわかりませんが...


PBRキャプチャになります。
finish_front.jpg

finish_back.jpg

今後はこのキャラと同じ等身の友達となるようなキャラでも作りたいですね。少しずつですが。
もしチャンスがあるなら立体出力もしたいところですね。
タグ:3DCG ZBrush
posted by momo at 22:26| Comment(0) | 日記