ノーマルマップベイク:ハイポリからゲーム用までの完全ガイド
ハイポリからローポリへのノーマルマップベイキングを学びます。Blender、Substance Painter、Marmosetなどのツールを比較し、シームや焼き込みノイズを修正して、UnityとUnrealでベイクしたマップのセットアップを行います。
2026年8月12日
あなたは詳細なSF風のクレートをモデリングしました。パネルライン、リベット、傷、擦り切れたメーカー刻印。高ポリゴンモデルは400万ポリゴン(三角形)です。ゲームでの目標は小道具あたり800ポリゴン(三角形)です。モデリングしたものをそのまま使用することはできません。代わりに法線マップをベイク(焼き込み)し、低ポリゴンのクレートが、あらゆる傷やリベットを光の情報として取り込みます。それが法線マップベイキングです:つまり、高ポリゴンメッシュの表面詳細を、テクスチャを通して低ポリゴンメッシュに転送する技術です。
このガイドでは、ノーマルマップのベイク処理のワークフロー全体を網羅し、重要なツールを比較し、作業時間を浪費させる一般的なエラーを修正し、ベイクされたマップが Unity や Unreal でどのように表示・適用されるかを示します。
ノーマルマップのベイクとは?
ノーマルマップのベイキングは、高ポリモデルの表面の方向データを取り込み、それを低ポリモデルが使用できるテクスチャに焼き込みます。低ポリゴンのメッシュはレンダリング負荷を低く抑え、ノーマルマップは高ポリゴンメッシュのライティング効果をその上に擬似的に再現します。
ノーマルマップのベイクの仕組み
ベイクでは、ローポリゴンの表面から頂点法線に沿って外側へレイを投射します。各レイはハイポリゴンの表面に当たり、その面の法線方向を記録します。この方向がノーマルマップの RGB としてエンコードされます。赤は X 軸に対応し、緑は Y 軸、青は Z 軸が格納されています。GPU がこのマップをサンプリングする際、ローポリゴンの法線を変形させ、ハイポリゴンジオメトリが実際に存在するかのように光の当たり方を計算します。
その結果、ライティングを当てるとローポリメッシュがハイポリのように見えます。余分なジオメトリも、追加の頂点コストも不要です。テクスチャを読むだけです。
タンジェントスペース法線マップとオブジェクトスペース法線マップの比較
ほとんどのゲーム用ノーマルマップはタンジェントスペースを使用します。タンジェントスペースのノーマルマップはモデルのUVレイアウトに基づいているため、異なるメッシュ間で同じマップを再利用でき、オブジェクトと共に正しく回転します。均一な青色(128, 128, 255)は「面に対して垂直で、法線の乱れがない」ことを意味します。
オブジェクト空間の法線マップは、ワールド座標系における方向を保持しています。色彩豊かで混沌とした見た目です。変形に耐えられず、アニメーションキャラクターでは正しく動作しません。キャラクター、プロップ、移動するオブジェクトにはタンジェント空間を使用してください。絶対的な世界空間の方向が必要な静的で変形しない表面のみ、オブジェクト空間を使用してください。
ハイポリをそのまま納品する代わりに、ノーマルマップをベイクすべき理由
400万三角形のモデルは、フレームごとに400万回の頂点シェーダー実行に加え、ドローコールのオーバーヘッドとメモリコストがかかります。一方、法線マップを使用した800三角形のモデルは、800頂点と1回のテクスチャサンプリングで済みます。200個のオブジェクトがあるシーンでは、この差が60fpsでの動作とスライドショー状態を分ける決定的な要因となります。
ベイキングにより、ディテールとパフォーマンスを分離できます。高解像度で一度だけディテールを作成し、それを2Kまたは4Kのテクスチャとして出力すれば、あらゆるローポリゴンメッシュに割り当てられます。
ハイポリゴンモデルからローポリゴンモデルへのノーマルマップベイク手順
パイプラインは5段階で構成されています。1つでもスキップすると、シーム、反転した法線、または効果のないマップが生じる可能性があります。
ステップ1: 高ポリの元モデルを作成、またはインポートします
詳細なメッシュから始めます。これはあなたのZBrushスカルプト、細分化ブーリアンモデル、または生成された高ポリゴンモデルです。高ポリゴンモデルは、キャプチャしたい表面の詳細(ベベル、パネルギャップ、ファブリックの織り目、肌の毛穴)を含む、クリーンでマニフォールド(水密)なジオメトリを持つ必要があります。
元のモデルが手作業で彫刻されるのではなく生成されたものである場合、ZBrushで何時間も費やす代わりに、AI生成の高ポリゴンメッシュとPBRテクスチャをベイクのソースとして使用できます。このアプローチについては後の項目で取り上げます。
ステップ2: ローポリゴンゲームメッシュをモデル化
ゲームに実装されるローポリバージョンを作成すること。ハイポリモデルのシルエットを一致させる。メッシュの変形が適切に行われ、滑らかなシェーディングを実現するためにエッジフローをクリーンに保つ。ベイキング後も維持できるトポロジーの原則については、当社のクリーンなトポロジーのメッシュのベストプラクティスを参照。
ローポリゴンにはディテールは不要です。必要なのは形状そのものです。残りはノーマルマップで表現されます。
ステップ3: クリーンUVをアンラップ
ローポリメッシュを展開します。重なりがないようにします。アイランド間のテクセル密度を均一にします。ベイクマージンが他のアイランドににじみ出さないよう、アイランド間には十分なパディングを確保します。
不良な UV はベイク失敗の最も一般的な原因です。2 つのアイランドが UV 空間で重なり合うと、ベイク時に両方の詳細情報が同じテクセルに書き込まれ、詳細が重複したり、にじんだりします。クリーンなアンラップをサポートするエッジループ戦略については、当社の四角面と三角面の比較ガイドをご覧ください。
手順4: ケージまたはレイ距離を設定する
パン職人はレイをどのくらいの距離で飛ばすか知っておく必要がある。二つの選択肢があります。
ケージ(メッシュ)。 ケージとは、ローポリを法線に沿って外側に膨らませたコピーです。レイはケージ表面からハイポリへと投射されます。ケージを使用すると、深い凹みや細い突起などの問題領域を精密にコントロールできます。ハイポリにオーバーハング、空洞、または鋭い突起があり、固定のレイ距離では検出できない場合にケージを使用します。
レイの距離。固定レイ距離は、ローポリサーフェスから一定の長さでレイを発射します。短く設定しすぎるとレイがハイポリに到達せず、空白部分が生じます。長く設定しすぎるとレイがハイポリを通過して背面に当たり、詳細が反転します。安全な開始範囲はシーンのスケールに応じて0.01~0.1単位の範囲で、その後メッシュごとに調整します。
ステップ5:テクスチャマップのベイクとエクスポート
ベイクを実行します。出力は法線マップで、通常PNGまたはTIFF形式です。また、隙間に接触陰影が必要な場合はアンビエントオクルージョンマップを、エッジウェアを表現するためにツールが対応している場合はカーヴァチュアマップもベイクします。ほとんどの小道具には2Kで、至近距離で表示される重要アセットには4Kでエクスポートします。
法線マップとペアとなるPBRテクスチャセットの詳細ガイドについては、弊社のゲーム向けテクスチャPNGガイドをご覧ください。
ノーマルマップ生成ツールの比較検討
4 つのツールが生産工程で主流を占めています。これらは共通の数理モデルに基づいていますが、速度、制御機能、およびパイプラインとの親和性に違いがあります。
Blender ノーマルマップのベイク
Blenderでは法線マップを標準機能としてベイクできます。レンダリングエンジンをCyclesに設定し、ローポリのマテリアルに画像テクスチャノードを追加して、ハイポリとローポリを選択し、「Selected to Active」を有効にして、種類(Type)を「Normal」に設定し、「Bake」を実行してください。Blenderは「Extrusion」と「Max Distance」フィールドを通じてケージメッシュをサポートしています。正確なパネルレイアウトについては、Blender公式のベイクに関するドキュメントをご覧ください。
欠点はワークフローの煩わしさです。Blenderのベイカーは強力ですが機能が限定されています。ライブプレビューはなく、標準搭載のIDマップもなく、余白は手動で設定する必要があります。個人開発者や予算が限られている場合、これがデフォルトです。日々のリリースを必要とするチームにとっては、非効率です。
Substance 3D Painter ベイク
Substance Painterは業界標準です。ノーマル、アンビエントオクルージョン、カーブ、ポジション、IDマップを一括でベイクし、確定前にエラーを表示するライブビューを備えています。そのマッチングアルゴリズムは、手動でのケージ調整なしでほとんどのメッシュを処理し、テクスチャ作成プロジェクトに直接エクスポートします。Adobe Substance 3D Painterベイクガイドでは、すべてのベイク設定を詳細に説明しています。
コストはサブスクリプションと学習コストです。もしあなたがベイクのみを行い、テクスチャリングをまったく行わないなら、ペインターは必要以上に高機能なツールです。もしすでにペインターでテクスチャリングを行うなら、そこでベイクを行うことでツールの切り替えが不要になります。
マーモセット ツールバッグ
Marmoset Toolbag は、ビジュアライゼーションファーストの選択肢です。そのベーカーは高速で、インタラクティブなケージエディタと業界で最も優れたリアルタイムプレビューを備えています。アーティストは、エンジンへのインポート前にベイク結果を検証するために使用します。これは買い切りであり、サブスクリプションではありません。Marmoset Toolbag のベーカーは、エンジンへのインポート前に法線マップを検証するための最速の検証方法です。
本ツールの機能範囲は限定的です。Toolbagはベイクやプレビューは可能ですが、本格的なテクスチャリングツールではありません。ほとんどのチームは、ペインティング作業でPainterやSubstanceと併用しています。
ZBrushとその他のベイク機能
ZBrushは、Projection MasterおよびUV Masterワークフローを通じてベイクを行います。ハイポリメッシュがすでにZBrush内にある場合は威力を発揮します。ToolbagとPainterの両方とも、ZBrushからのエクスポートをスムーズに読み込めます。スカルプトを行わずにノーマルマップのベイクのみを行う場合、ZBrushは過剰です。
どのツールを使用すべきか
ツールは流行に合わせず、パイプラインに合致させるべきです。
ツール | 最適な対象 | コスト | ケージのサポート | リアルタイムプレビュー |
ブレンダー | 個人開発者、無料パイプライン | 無料 | はい(押出) | いいえ |
Substance Painter | Painterでテクスチャリングするチーム | 定期購読 | はい (自動 + 手動) | はい |
マーモセットツールバッグ | ベイク処理の検証と高速な反復 | 一回限り | はい(対話型) | はい |
ZBrush | 彫刻と焼き付けを1つのアプリで | 1回のみ | 限定 | 部分的 |
一般的なノーマルマップのベイク時のエラーとその解決方法
これら5つのエラーが、焼き菓子作りに関するサポート掲示板への投稿の大部分を占めています。それぞれに原因と対処法があります。
UVの境界に継ぎ目が現れる
UV境界でノーマルマップの継ぎ目が発生する理由
ノーマルマップは接線空間で定義されており、これは UV 方向に依存します。すべての UV 境界で接線フレームが反転してしまうため、ベイクしたディテールには 2 つのアイランドの継ぎ目に目立つ線(アーティファクト)が発生します。
ノーマルマップで発生するシームアーティファクトの修正方法
テクセル密度と方向がシームをまたいで一致するように、UVシェルのエッジを整列させます。ベイク設定で十分なマージン(2~4ピクセル)を追加し、膨張(ディレイテーション)されたエッジデータが隙間なく重なるようにします。Painterでは、ディレイテッドボーダーオプションを有効にします。Blenderでは、マージンの値を大きくします。ハードサーフェスモデルの場合、ライティングで継ぎ目が隠れる凹面領域にシームを配置します。
ケージまたは光線の距離が短すぎる、または長すぎます
ノーマルマップベイク用のレイ距離の設定方法
ベイクに未ベイク部分がある場合、レイが高ポリゴンメッシュに到達していません。ディテールが反転表示される場合は、レイが透過して背面にヒットしています。
ベーカー内のケージ設定を開き、ハイポリメッシュの表面全体をわずかに外側まで膨らませます。レイ距離を使用する場合は、0.05 から始めて未検出部分(ブランクスポット)がなくなるまで徐々に増やし、裏面描画(バックフェース)が発生したら値を少し減らしてください。グローバル設定よりもメッシュ個別の調整が効果的です。
ハードエッジがノーマルマップを歪ませる
ハードエッジ法線マップの不具合を修正する方法
ローポリのハードエッジは法線の90度のジャンプを生み出し、タンジェント空間マップでは滑らかに表現できません。その結果、エッジに沿って暗い線や光る継ぎ目が生じます。
ベイク前に、高ポリゴンのシェーディング結果に合わせてスムージンググループまたはハードエッジ法線を設定します。低ポリゴンのスムージンググループを維持したままベイクするか、高ポリゴンのスムージングをソースとしてベイクします。低ポリゴンと高ポリゴンはハードエッジの位置について一致させておく必要があります。
UVの重複によるディテールのダブり
UVの重なりを検出・修正する方法
重複するUVアイランドでは、2つの詳細情報のセットが同じテクセルに書き込まれるため、結果的に滲んで見えたり、ゴーストのように二重に見えたりします。
重なりが全くない状態で再度 UV 展開してください。ベイク前に UV チェッカーテクスチャを使用して視覚的に重複を確認しましょう。ほとんどのベイクソフトは重複警告を提供します。この警告に従ってください。これに関連するレイキャストとケージの仕組みについては、Polycount のテクスチャベイクに関する Wiki が計算の詳解を行っています。
法線マップが反転しているように見える、または色が正しく表示されない
反転した法線マップのカラー空間と軸の調整
ほとんどが紫色または緑色に見えるマップ、あるいは逆側から発光しているマップは、カラースペースが間違っているか座標軸が反転している可能性があります。
エンジン内でノーマルマップがsRGBではなくNon-Colorデータに設定されていることを確認してください。法線の向きが正しくない場合は、ベイク設定の反転オプション(Flip X、Flip Y、Flip G)を確認してください。BlenderとOpenGLはGreen Upを採用していますが、一部のDirectXツールはGreen Downを採用しています。エンジン側の設定に合わせてください。
ゲームエンジンでのベイク済み法線マップの設定
エンジンが正しく解釈できなければ、完璧なベイク処理も失敗します。Unity と Unreal どちらも正しいインポート設定が必要です。
Unity 法線マップのインポート設定
テクスチャをインポートし、Texture Type を Normal map に設定します。Unity は緑チャンネルを内部空間に自動的に変換します。sRGB (Color Space) はオフに設定してください。高圧縮では細部が潰れるため、ヒーローアセットには BC5 または高品質プリセットの圧縮を設定してください。ゲームレディなアセットのチェックリストについては、ゲームレディな3Dモデルガイドをご覧ください。Unity のノーマルマップインポートドキュメントには、圧縮と sRGB の動作の詳細が記載されています。
シームがUnityでは表示されるがベイカーでは表示されない場合、通常はミップマップ生成によってディレーション処理された境界が柔らかくなっていることが原因です。境界のパディングを大きくするか、小さなプロップでミップマップを無効にしてください。
Unreal Engine の法線マップ設定
テクスチャをインポートし、法線マップの圧縮設定にします。Unreal はベーカーの基準と異なるタンジェント基底を使用するため、ディテールが反転する場合は「Flip Green Channel」オプションを有効にしてください。Unreal のデフォルトのタンジェント空間は、ほとんどのベイク結果にそのまま適合しますが、細部では緑チャンネルの反転が必要な場合があります。Unreal Engine テクスチャドキュメント では、タンジェント基底と圧縮プリセットの詳細が説明されています。
スタティックメッシュの場合、Unreal はメッシュから接線を計算します。スケルタルメッシュの場合、インポートされた接線を使用します。シェーディングの不一致を避けるため、DCC とエンジン間でローポリのスムージングを統一してください。
ノーマルマップをベイクすべき時とスキップすべき時
ベイクは無償ではありません。テクスチャにはメモリとバンド幅のコストがかかり、ベイク自体にもアーティストの工数がかかります。
モバイルおよびローエンドハードウェアの限界
モバイル GPU は 4K のノーマルマップで性能が追いつきません。遅延ストリーミングとデコードが発生する 4K マップよりも、均一なテクセル密度を持つ 2K または 1K マップの方が優れています。モバイルでは、近接描写されない背景プロップスは 512 ピクセルまで落とすことができます。4K はデスクトップとコンソール向けのヒーローアセットに割り当ててください。
テクセル密度とテクスチャ解像度
アセットセット全体で一貫したテクセル密度を目標とし、一般的にスタイル化されたゲームでは 1 センチメートルあたり 10.24 ピクセル、リアリスティックなゲームでは 20.48 ピクセルとします。その密度を満たすために 4K よりも高い解像度が必要な場合、そのメッシュはスクリーンタイムに比べて過剰に詳細です。詳細度を下げるか、テクセル密度を低く設定するかを選択してください。ベイク処理では解決できません。テクスチャ予算を超える解像度を必要とするモデルは、テクスチャ予算が許容する範囲を超えているためです。
Triverse AIで高ポリのソースとなるモデルを生成
ノーマルマップのベイク処理におけるボトルネックは、通常、ハイポリモデルです。ZBrushで詳細なハイポリモデルをスカルプトするには、アセットごとに数時間かかります。専任のキャラクターアーティストやプロップアーティストがいないチームでは、このボトルネックによってパイプライン全体が停滞してしまいます。
Triverse AIは、テキスト入力または参考画像から高ポリメッシュとPBRテクスチャを生成します。その出力をベイク処理用の高ポリソースとして使用でき、手動スカルプトを省略できます。
ステップ1:Triverseでハイポリモデルを生成する Triverse AI を開き、HD Mesh ワークスペースを選択します。生成したいモデルの詳細をテキストで入力します。たとえば「SF風の箱、パネルライン、リベット、傷、摩耗した金属、高ディテール」などです。PBRテクスチャ付きのハイポリメッシュが生成されます。
ステップ2: エクスポートとベイキングの準備。 モデルをFBXまたはOBJ形式でダウンロードします。Blenderまたはお使いのベイクソフトにインポートします。この高ポリがベイキング用のソースメッシュとなります。
ステップ3: お好みのツールでベイク処理を行う。 Triverseの高ポリゴンモデルをソースに、ゲーム用低ポリゴンメッシュをターゲットに使用します。前述のとおりBlender、Substance Painter、またはMarmosetで法線マップをベイクします。
Triverse AIの限界
Triverse AI はメッシュと PBR テクスチャを生成します。法線マップの自動ベイクやモデルの自動リギングは行いません。ベイク処理は DCC ツールで実行し、リギングやアニメーションは下流工程で処理してください。生成された高ポリゴンモデルはスカルプト時間を節約するための出発点として扱い、ベイク処理そのものの代替とはしないでください。
要するに
法線マップベイキングは、高ポリゴンの詳細をテクスチャを通じて安価な低ポリゴンメッシュに移す技術であり、高ポリゴンモデルを手作業でスカルプトするか生成するかに関わらず、ワークフローは同じです。クリーンな高ポリゴンモデルを構築し、対応する低ポリゴンモデルを作成し、重複のないUV展開を行い、ケージまたはレイ距離を設定して、プラットフォームが許容する解像度でベイクしてエクスポートします。シームはマージンとUVの整列で修正し、反転したディテール(凹凸)はグリーンチャンネルの反転で修正し、エンジン内でテクスチャを非カラーに設定します。大規模なアートチームを持たないスタジオでは、Triverse AIを使用して高ポリゴンソースを生成することで、スカルプトのボトルネックを解消し、品質向上の肝となるベイクとエンジン設定に時間を集中できます。
ノーマルマップ・ベイキングのよくある質問
平易に説明すると、ノーマルマップのベイク処理とは何ですか?
ノーマルマップのベイクは、細部の多いハイポリメッシュの表面方向をテクスチャにコピーし、そのテクスチャをシンプルなローポリメッシュに適用することで、ジオメトリを増やすことなく細部が表現されたように見せることができます。
Blenderでノーマルマップをベイクする方法は?
レンダリングエンジンをCyclesに設定し、ローポリゴンのマテリアルに画像テクスチャノードを追加します。ハイポリゴンを選択してからローポリゴンを選択し、「Selected to Active」を有効にして、タイプを「法線」にしてベイクを実行します。ExtrusionをCageとして使用し、境界の余白用にMargin値を設定します。
ノーマルマップをベイクする際にシームが発生する理由は?
シームが生じるのは、接空間法線マップはUV方向に依存しており、UVアイランドの境界ごとに方向が反転するためです。これを修正するには、2〜4ピクセルのマージン、エッジを整列させたUVシェル、およびシームを凹面エリアに配置します。
ノーマルマップのベイク処理にはどのレイの距離を使用すべきでしょうか?
シーンのスケールに応じて 0.01 から 0.1 ユニットから開始します。欠落した部分が埋まるまで値を上げ、細部がおかしくなる場合は少し戻してください。複雑な形状の場合、固定されたレイ距離よりもケージメッシュの方がより確実に制御できます。
ノーマルマップのベイク処理にはSubstance PainterとBlenderのどちらが向いているでしょうか?
Blenderは無料で高機能ですが、開発サイクルが緩やかです。Substance Painterはライブプレビュー付きで複数のマップをベイクでき、すでに同ソフトでテクスチャ制作を行っているなら、業界標準と言えるでしょう。Marmoset Toolbagはベイク結果の検証の速さに優れています。
Unreal Engineで反転している法線マップを修正するにはどうすればよいですか?
ノーマルマップのインポート時に「Flip Green Channel」オプションを有効にしてください。Unreal Engine のタンジェント基底は、使用しているベークツールと異なる可能性があります。グリーンチャンネルの反転により、向きが正しくない細部を修正します。
AIはノーマルマップをベイクするためのモデルを生成可能か?
はい、Triverse AIのようなツールを使えば、テキストや画像からPBRテクスチャ付きのハイポリメッシュを生成できます。そのハイポリメッシュをBlender、Substance Painter、あるいはMarmosetでのベイクソースとして使用し、ローポリゲームメッシュにノーマルマップをベイクします。
ベイクされたノーマルマップの解像度はどの程度が適切ですか?
ほとんどのプロップには 2K を使用し、クローズアップで表示されるヒーローアセットには 4K を、モバイル用の背景プロップには 1K または 512 を使用してください。デフォルトで最大解像度にするのではなく、一貫したテクセル密度に合わせて解像度を決定してください。