広告
広告

Blender でバンプマップから法線マップを作成する

カテゴリ:blender

このテクニックは写真をグレースケールに変換して、その写真から法線マップを作成するときによく使われる。

手順

  1. ベイク先のテクスチャを作成する
  2. ポリゴンを UV 展開する
  3. ポリゴンにバンプマップを貼る
  4. バンプマップのテクスチャの設定
  5. ベイクする

1~3 は基本的なことなのでこの記事では説明しない。単に画像を変換したいだけなら板ポリゴンに1~3の手順を実行する。4以降は使用するレンダラーによって異なる。

Cycles Render

以下のようにマテリアルのノードをつなぐ。右にある繋がっていない画像テクスチャにベイクのテクスチャを指定する。ベイクする直前に繋がっていない画像テクスチャノードを作成し、ベイクするテクスチャを指定する。そうしないとバンプテクスチャに法線がベイクされ失敗する。

material
マテリアル設定

プロパティパネルのレンダータブでベイクする。

bake
ベイク

Blender Render

ポリゴンにバンプマップを貼ったら、バンプマップの Coordinate: を UV にする。バンプマップから法線を出力するには、バンプマップのテクスチャの Normal にチェックを入れる。ここの数値を大きくすると凸凹も大きくなる。凸凹を逆にしたいときは Negative にチェックをいれる。Method は Best Quality にする。

バンプの設定
バンプテクスチャの設定

あとは Render の Bake Mode: を Normals にしてベイクすればテクスチャに法線がレンダリングされる。忘れずにファイルに保存する。

ベイク
ベイク時の設定

スクリプトで作成する

下記のスクリプトを実行して作成する。Blender に画像を読み込み、画像名を img_name に設定し、実行する。strength を上げると傾斜がきつくなり、ノイズが増える。sample は8か 24 を指定できる。テクスチャサイズが小さい(256*256 ぐらい)なら8で十分な品質になる。

このスクリプトは品質はいいが非常に遅い。1024 * 1024 のサイズで sample が 24 の時、処理に数十秒かかる。

blender bake
Blender でベイクした法線
script generated
スクリプトで作成した法線

広告
広告