規格変換

OpenGL・DirectXノーマルマップ変換

入力と出力のY+・Y−を指定し、R反転、Z再構成、ベクトル再正規化を実行。3Dで確認してロスレスPNGに保存できます。

規格変換PNG、JPEG、WebP、BMP(50MBまで)を選択してください。
画像をローカル処理
画像をここにドロップPNG、JPEG、WebP、BMP(50MBまで)を選択してください。画像をローカル処理

確実なワークフロー

Y変換は符号付きベクトル演算

Y規格の変換は通常Gチャンネルを反転し、各ベクトルを再正規化します。

Height gradient to RGB normal directionA grayscale height change becomes horizontal and vertical gradients, then a normalized vector encoded into RGB.1 · ハイト2 · 勾配dx + dy + level Z3 · RGB 法線normalize → 0…255
1

チャンネル変更後に再正規化する

色統計だけのY自動判定は信頼できません。変換を明示し、非対称な凹凸で確認します。

2

紫色だけではY規格を判定できない

Z再構築は保存済みX/Yから外向き半球を作り、再正規化で不正なベクトル長による強度変化を防ぎます。

3

色ではなく方向を変換する

ノーマルマップ変換ではRGBを符号付きベクトルへデコードしてから軸を変更します。一般的なOpenGL/DirectX変換はタンジェントYを反転し、画素ではGを中点周りで反転する処理です。R反転はX変更で、通常のY変換ではありません。Z再構築後や量子化後に再正規化し、単位長を保ちます。これによりノーマルマップ変換の意味が明確になります。

4

変換後の規格を実証する

入力と出力規格を指定し、上下が非対称な形で光を縦に動かします。期待どおり縦方向だけが変われば、ノーマルマップ変換は目的の不一致を修正しています。Y+/Y−をファイル名に含め、ロスレスで保存し、利用先でも確認します。読み込み側のG反転が有効だと、ノーマルマップ変換が二重に適用されるため注意してください。