JA
マイツール

ノーマルマップ生成ツール

ハイトマップや写真からタンジェント空間のノーマルマップを作成。Sobel・Scharrフィルター、強さ、ぼかし、OpenGL・DirectX、つなぎ目なしの端に対応。PNGで保存。

傾きを測る前に、写真のノイズを取り除きます。0 = なし。
傾きを拡大します。大きいほど凹凸が深く見えます。
マイツール →
広告

ノーマルマップは、テクスチャの各ピクセルについて、表面がどちらを向いているかを記録します。ゲームエンジンや3Dソフトは、これを使って平らなポリゴンに凹凸や溝、傷があるかのようにライティングします。このジェネレーターは、ハイトマップ(または明るさを高さとして使う写真)を読み取り、ピクセルごとに傾きを測って、OpenGLまたはDirectXの規約でタンジェント空間のノーマルマップを書き出します。タイリングテクスチャ用に、つなぎ目なしの端のオプションもあります。ブラウザ内で動作します。

使い方

  1. ハイトマップ(白 = 高い)またはテクスチャ写真を選びます。
  2. 高さの取得元を選び、暗い部分を出っ張らせたい場合は反転します。
  3. ぼかし、エッジフィルター、強さを設定し、タイリングテクスチャなら「つなぎ目なしの端」にチェックを入れます。
  4. お使いのエンジンに合う緑チャンネルの規約を選んで、ノーマルマップをダウンロードします。

計算式

n = normalize(−s × ∂h/∂x, ±s × ∂h/∂y, 1);RGB = (n + 1) ÷ 2 × 255

hは0〜1の高さ、sは強さです。傾きは、Sobel (1, 2, 1) ÷ 8 またはScharr (3, 10, 3) ÷ 32フィルター、もしくは中心差分 ÷ 2で求めます。画像の行は下向きに並ぶため、OpenGL(Y+ が上)の規約では +∂h/∂y、DirectX(Y− が下)では −∂h/∂y を使います。ぼかしは σ = 半径 ÷ 2 のガウスぼかしです。つなぎ目なしの端をオンにすると、フィルターが境界を越えて反対側に回り込むため、マップが継ぎ目なくタイリングされます。

計算例

平らな部分は傾きが0なので n = (0, 0, 1) となり、色はおなじみの水色 (128, 128, 255) です。1ピクセルの間に高さが0.38上がる場所では、Sobelの傾きは0.19、強さ2では0.38になるため、n = (−0.38, 0, 1) ÷ 1.07 となり、赤チャンネルは82に下がります。

よくある質問

OpenGLとDirectXのどちらを選べばよいですか?

Blender、Godot、Unity、およびほとんどのglTFツールはOpenGL(緑が上)、Unreal Engineと3ds MaxはDirectX(緑が下)を想定しています。凹凸のライティングが逆の側から当たっている場合は、この設定を切り替えてください。

どんな写真でも使えますか?

使えますが、明るさは高さの推測にすぎません。暗いひび割れは低く、明るい石は高くなるため、石、樹皮、布ではうまく見えることが多いです。塗られた色や影は偽の凹凸を作ることがあるので、本物のハイトマップが最良の結果になります。

タイリングするとテクスチャにつなぎ目が見えるのはなぜですか?

「つなぎ目なしの端」をオンにして、境界の傾きを回り込んだ先まで含めて測るようにしてください。テクスチャ自体もタイリングできる必要があります。シームレステクスチャ作成ツールが役立ちます。

テクスチャはアップロードされますか?

いいえ。すべての計算は端末上で行われます。

最終更新:

このツールを引用する
APA

kakaoCalc. (2026, November 8). ノーマルマップ生成ツール. https://kakao.mobile/ja/tools/normal-map-generator/

MLA

“ノーマルマップ生成ツール.” kakaoCalc, 8 Nov. 2026, kakao.mobile/ja/tools/normal-map-generator/.

広告