複雑な造形をモデリングしたハイポリモデルでは実際のデータとして使うには重すぎる
そんな時に使われるのがノーマルマップ
ノーマルマップを作る方法は無料有料様々ありますが
今回はMayaの Transfer Maps を使ってノーマルマップを生成する手順を紹介します。
Transfer Mapsで手軽にノーマルマップを生成することはできますが、
少しコツも必要なのでその部分も紹介できたらと思います。
![]() |
|
Mayaでノーマルマップを生成する手順
ノーマルマップを適用したいローポリモデルとノーマルマップを生成するハイポリモデルとを用意
※ノーマルマップを生成するモデルがハイポリモデルとは限りませんが便宜上ハイポリモデルと記述します。

ローポリモデルをUV展開します

Transfer Maps を開きます
Menu set を Rendering に変更します

Ligthing/Shading > Transfer Maps…

Source Meshes に ノーマルマップを生成したいハイポリモデルを設定オブジェクトを選択して [Add Selected] をクリック
Normal Map にチェクが入っている事を確認
ファイルのフォーマットやファイル名、出力先を設定
Map space は Tangent space を選択
Map width 出力するノーマルマップの幅
Map height 出力するノーマルマップの高さ
Sampling quality 等 任意に設定して問題なかったら
[Bake] をクリック

ノーマルマップが生成されました。

生成したノーマルマップをローポリモデルにアサインしてUnityで表示します。
シンプルなモデルに凸凹が追加されて表示されました。

ノーマルマップを適用していないモデルをUnityで表示したのが以下の画像です。

![]() |
|
ローポリモデルよりハイポリモデルが大きい場合
上記の例はノーマルマップを生成するハイポリモデルがローポリモデルからはみ出していません。

ローポリモデルをはみ出す造形のハイポリモデルでノーマルマップを作るときは、手順が増えます。
ローポリモデルとローポリモデルからはみ出す装飾が追加されたハイポリモデルを用しました。

先ほどと同じ手順でノーマルマップを生成します。
うまく生成されてない部分があります。

ハイポリモデルがローポリモデルより大きくてノーマルマップの生成範囲からはみ出してしまっているのが原因です。

Target Meshesの Display から Envelope を選択します

ローポリモデルを基にしたピンクの枠が出てきました。

このピンクの枠をノーマルマップの生成範囲に収まるように調整します。
Search envelope を1.9にしました。

大きくしすぎるとローポリモデルに合致した綺麗なノーマルマップにならないのでちょうど収まる所を探します。
はみ出す部分がなく全て囲われました。

ノーマルマップを生成してみましょう。
Transfer Maps を設定して [Bake] をクリック
ハイポリモデルの造形を元に綺麗にノーマルマップが生成されました。

生成したノーマルマップをアサインしてUnityで表示してみます。
追加した造形が浮き出て表示されました。

ノーマルマップ生成範囲のピンクの枠は頂点を移動できるので、部分的な範囲調整も可能です。

![]() |
|
モデリンングをした後でノーマルマップの追加する方法
上記の例はどちらもローポリモデルとハイポリモデルは同じ位置に配置されています。
つまりノーマルマップを生成するためのハイポリモデルの基本造形はローポリモデルと似た造形になります。
ここで紹介するのは、ノーマルマップを適用するローポリモデルとノーマルマップを生成するモデルを完全に分ける方法です。
丸みを帯びた壁のモデルを用意しました。

このモデル用にノーマルマップを生成しますが、この壁に合わせたハイポリモデルは作りません。
手順
- 壁のモデルをUV展開
- 凹凸の当たりを描いたテクスチャー
- テクスチャーを基にモデルを用意してノーマルマップを生成
壁のモデルをUV展開します。

凹凸の当たりを描いたテクスチャーを用意します。


テクスチャーを基にノーマルマップ生成用モデルを用意
ポリゴンのプランモデルを生成して、凹凸の当たりを描いたテクスチャーをアサインします。

テクスチャーを見当にして凹凸モデルを配置します。
配置したら Transfer Maps の Source Meshes に ノーマルマップ生成用モデルとして設定します。

ノーマルマップを生成するための疑似的なローポリモデルを用意します。
この疑似ローポリモデルをTransfer Maps の Target Meshes に 設定します。

Transfer Maps を設定したら[Bake]をクリック。ノーマルマップを生成します。
生成されました。

生成されたノーマルマップを壁モデルにアサインしてUnityで表示してみます。
装飾が立体的に表示されました。

衣服の装飾物に後からノーマルマップを追加する場合や
大きな造形物にノーマルマップで細かな装飾を付加したい場合に有効な方法です。
装飾物を追加して、Arnoldで生成したアンビエントオクルージョンマップも追加しました。

装飾物を追加して改めてUnityで表示します。

以前はアンビエントオクルージョンもTransfer Mapsで生成可能でしたが今その役目はArnoldに移っているようですね。
まとめ
MAYAでノーマルマップを生成する方法を紹介しました。
ノーマルマップを使用するローポリモデル
ノーマルマップを生成するハイポリモデル
上記2種類のモデルを用意
⬇
Transfer Maps を起動
⬇
ローポリモデルをTarget Meshesに設定
ハイポリモデルをSource Meshesに設定
⬇
Bakeをクリック生成
最近のCGではシンプルな絵柄のグラフィクでも何処かしらに使用されているほど欠かせない技術になっています。
そのため効率的にノーマルマップを作成する事が大事で、今回紹介した方法以外にも様々な方法があります。
高価なスカルプトモデリングソフトウェア。
比較的安価な写真からノーマルマップを生成することができるソフトウェアなどがあります。
スカルプトモデリングソフトウェアは超精細なノーマルマップを生成することが可能です。
写真からノーマルマップを生成する方法は専用のソフトウェアに任せることになるでしょう。
外部のソフトウェアを使用する方法と今回紹介したMAYAで生成する方法の利点を比べて、より効率的で精度の高い方を選んで使用すると良いと思います。
以上です。
![]() |
|
![]() |
|
「Autodesk Mudbox」」3Dデジタルペインティング & スカルプティングソフトウェア |
2005年度版、映画「キングコング」の制作に使用され名を広めたスカルプティング・ペインティングツール。Autodesk製品のMAYA、3ds MAX とのデータのやり取りもスムーズで、競合する「Zbrash」に比べて圧倒的な安さは特質すべきポイント。今後3DCG制作でキャラクター、背景、分野関係無くスカルプティング技術が必須になるのは確実で、機能と価格のバランスを考慮すると、最初に導入するソフトウェアの候補になるでしょう。 |
価格:14,300円/年(税込) |
>>Autodesk Mudbox の詳細/購入はコチラから |
画づくりのための光の授業 CG、アニメ、映像、イラスト創作に欠かせない、光の仕組みと使い方
光の仕組みがわかる! クリエイターの必読書CGやアニメ、イラスト、映画、写真 etc…ビジュアルの創作には光の存在が不可欠です。この本では、クリエイターが光の仕組みとその扱い方を理解するための入門書として、数百点にも及ぶ写真やイラスト、CG、映画のスクリーンショットなどの図版と事例を参考に、光の性質と効果を丁寧に解説。
Adobeのプラチナパートナーに認定されているデジタルハリウッドのオンラインCGスクール「デジハリONLINE」が提供する「Adobeマスター講座」。
基礎動画教材とAdobe creative cloudの一年版ライセンスがセットになった、コスパ最強のパッケージプランです。
学習ノルマは一切ありません。AdobeCCだけを目的に契約してもOK!
>> デジハリONLINE「Adobeマスター講座」
![]() |
|
![]() |
|
BTOパソコンの草分け的ブランドFRONTIER(フロンティア) 3DCG/動画編集/ゲーム用途に合わせてCPUやGPUなどパーツを自由に選べてコスパにもこだわる方にオススメ。 |
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|