Blenderでノーマルマップを作成(ベイク)する方法

この記事では、Blender上でノーマルマップを作成し適用することで、見た目上の凹凸感を表現する方法について解説します。

ノーマルマッピングとは?

ノーマルマッピングとは、オブジェクトに通常のテクスチャとは別に高低の情報を持つノーマルマップを指定することで、擬似的に陰やハイライトを作り、メッシュで凹凸をつけていなくても見た目上の凹凸感を表現できる、というものです。

詳しくは以下の記事で解説していますので、ご参照ください。
ここでは、以下の記事の「ノーマルマップを作成する」項の「Blender上でノーマルマップを作成する」について解説していきます。

ノーマルマップをベイクする

ベイクは、あらかじめ陰影をモデルのテクスチャとして焼き付けておくことで演算の負担をなくす、といった用途でよく使われます。
今回は陰影ではなく、高低の情報をノーマルマップとして焼き付けます。

ベイクについて詳しくは以下の記事も参考にしてください。

メッシュを追加してベイクする方法と、スカルプトしてベイクする方法をご紹介しますが、どちらも基本的な考え方は変わりません。

メッシュを追加してベイクする

細かなパーツなどのモデリングをしてポリゴン数が増えてしまった時に、ノーマルマップにベイクすることでポリゴン数を減らせます。
今回は簡単なモデルで試してみましょう。

まずは、以下のように平面に「Edge」→「Subdivide」を何回か適用してポリゴンを細分化した平面を用意します。

平面を細かく分割

平面を細かく分割

この平面を[Shift]+[D]でその場に複製し、[O]→[G]キーからプロポーショナル編集機能を使用して適当なくぼみをつけます。

プロポーショナル編集については以下の記事も参考にしてください。

複製して窪ませた平面

複製して窪ませた平面

マテリアルプロパティの、「+」ボタンから新規マテリアルを追加します。

新規マテリアルを追加

新規マテリアルを追加

「Shader Editor」の画面を開き、[Shift]+[A]でImage Textureノードを追加します。
「+ New」をクリックして新しいテクスチャを作成しましょう。
ここでは名前を「Untitled」のままにします。
Image Textureは他のノードと接続する必要がありません。

新しい画像テクスチャを追加

新しい画像テクスチャを追加

複製して変形させた平面にも、同じマテリアルを割り当てます。

複製して変形させた平面→元の平面の順に[Shift]キーを押しながら選択し、レンダープロパティから、Render Engineを「Cycles」に変更します。(Eeveeにはベイク機能がありません)

Cyclesに変更

Cyclesに変更

下にスクロールして以下のように項目を設定したら、「Bake」をクリックします。

ベイクの設定

ベイクの設定

  • Selected to Active:別のモデルからテクスチャをベイクする
  • Cage:別のモデルからテクスチャをベイクする場合に、ベイクの影響範囲を指定する
  • Cage Extrusion:ベイクの影響範囲

ベイク作業が行われるので、終わったら「Image Editor」の画面から確認すると、ノーマルマップが作られているのがわかります。
画面上部から先ほど作ったテクスチャ名を選択するのを忘れないようにしましょう。

先ほど作ったテクスチャを選択

先ほど作ったテクスチャを選択


ベイク後

ベイク後

ノーマルマップが作成できたら、変形させた平面を非表示にした上で、Normal Mapノードを追加し、以下のように繋げてみましょう。
ただの平面に、凹凸がついたのがわかります。

ノーマルマップを適用すると、平面に凹凸がついた

ノーマルマップを適用すると、平面に凹凸がついた

スカルプトでベイクする

メッシュを細かくしないとスカルプトで作り出せない服の皺なども、ノーマルマップでベイクすることでポリゴン数を抑えることができます。

平面を追加し、複製するまでは先ほどの「メッシュを追加してベイクする」と同様の手順になります。

複製した平面に、「Add Modifier」から「Multiresolution(多重解像度)」モディファイアを追加します。
このモディファイアは単純にモデリングされたオブジェクトを複雑なオブジェクトに見せたい時に使うもので、スカルプトの際によく使われます。

モディファイアを追加

モディファイアを追加

追加したら、「Subdivide(細分化)」ボタンをクリックして、Level ViewportやSculpt、Renderといった項目が1~3になるように調整しましょう。

Multiresolutionモディファイア

Multiresolutionモディファイア

「Sculpting」ウィンドウに切り替え、先ほど複製した平面にブラシで凹凸をつけていきます。

スカルプトする

スカルプトする

この後は、先ほどの「メッシュを追加してベイクする」の解説にある、新規マテリアルを追加~と同様の手順になります。

ベイク後

ベイク後

同様に、Normal Mapノードを追加して元の平面に適用すると、凹凸が反映されました。

凹凸が反映された

凹凸が反映された

STYLYにアップロードする方法

3DモデルをSTYLYにアップロードしてみましょう。

STYLYアカウントを作成する

アカウント作成方法

STYLYにアップロードする方法