ノーマルマップ修正ツール
ノーマルマップ修正ツールで、既存のタンジェント空間テクスチャに意図した修復を適用します。方向の再正規化、チャンネル符号の補正、正のZ再構築、完全透明RGBの清掃を選べます。元データと結果を比較し、同じ寸法とアルファマスクのロスレスPNGを書き出してください。
ノーマルマップの修正を始める手順
元の法線を読み込むか数学的なサンプルを試し、必要な修正を選びます。初期状態では再正規化が有効です。既知の入力Y規約を指定し、それを変更したい場合だけ緑反転を使ってください。同じ光源で元画像と修正結果を比較し、差分表示と修正前後の継ぎ目測定を確認します。現在の設定の処理が完了してからダウンロードが有効になるため、操作中に前の結果を誤って書き出すことを防ぎます。
ノーマルマップ修正ツールとは
このツールは紫色のテクスチャを表示色として編集せず、表面方向のベクトルとして扱います。RGBを符号付き成分へ復号し、選択した数値操作を行い、編集したベクトルを正規化して8ビットへ再符号化します。ここでは修復と比較を扱い、規約変換はコンバーター、目視確認はビューアーが担当します。どのツールも失われた高解像度の彫刻、メッシュ形状、制作時のタンジェント基底を作り直すことはできません。
規約変更の作業にはコンバーターを使う法線テクスチャに修正が必要な場面
一般的な画像編集、混合、フィルタリング、非可逆圧縮で復号後の法線が単位長から外れることがあります。また、読み込み先と緑の規約が違ったり、透明部分に黒いRGBのパディングが残ったりします。それぞれを独立した操作として選んでください。まず診断が必要です。正しい画像の符号を反転すると照明が逆転し、正規化だけでは空間的な圧縮ブロックは消えません。操作の理由を記録し、元データと比較してから置き換えます。
元画像をノーマルマップ検証ツールで調べる法線ベクトルの安全な再正規化
再正規化はX、Y、Zをユークリッド長で割ります。8ビットへの丸めを除き、方向を維持して大きさを戻します。復号長が0.02未満なら、中立方向(0, 0, 1)へ置き換えます。通常のRGB8では厳密なゼロを表せないため、この近ゼロの基準を明示しています。導出値が有限でない場合も、共通のベクトル演算で安全な中立値になります。書き出し時の中立方向はおよそRGB 128, 128, 255です。
意図して緑チャンネルを反転する
緑反転は正規化の前に符号付きYを反転します。既知のY+入力はY−へ、Y−入力はY+へ変わります。出力表示とファイル名は、宣言した入力規約とこの操作に従い、緑の平均から推定しません。意図された規約はピクセルだけでは確実に判定できません。表示は選択後の出力規約に合わせて復号するため、正しい規約変換なら対応する解釈の下で同じ凸部の照明を保ちます。既知の特徴で確認してください。
赤反転によるタンジェント方向の補正
赤反転はXの符号を独立して変えます。水平方向のタンジェントを意図的に逆に扱うパイプラインでは役立つ場合がありますが、ミラーUVや互換性のないメッシュタンジェントを常に直せる方法ではありません。分かりやすい特徴を使い光源を水平に動かして軸を確認します。すべてのベクトル編集は最後に正規化します。ベクトル操作を全部無効にすると、別途アルファ清掃を選ばない限り元のRGBをそのまま保持できます。
青 / Z成分を再構築する条件
Z再構築は z = sqrt(max(0, 1 − x² − y²)) を求め、続いて正規化します。正の半球を明示的に選ぶ処理です。x² + y² が1を超える場合、ZをゼロにしてX/Yを赤道上へ正規化し、そのクランプ数を要約で示します。元の負のZ符号や、失われたX/Y情報は回復できません。対応する2成分法線のために使い、青が怪しく見えるすべての画像へ一律に適用しないでください。
透明境界のRGBアーティファクトを減らす
任意のアルファ清掃は、アルファが厳密にゼロのRGBだけを変更します。直近の可視ピクセルの方向を数値で平均して正規化し、1ピクセルの延長帯から遠い領域は中立法線にします。部分透明ピクセルは清掃の対象外でアルファも保ちますが、選択したベクトル操作によってRGBは修正されることがあります。元のアルファマスクは常に維持します。この小さな延長処理はミップマップを考慮した完全な膨張処理ではなく、エンジン側のアルファ設定も必要です。
OpenGL・DirectXの修正手順
制作元の説明で入力規約を指定し、不確かなときは両方の解釈を確認してから、意図したY変換を一度適用します。変更していない元データと、対応する規約で結果を比較します。再正規化や正のZ再構築そのものはY+かY−かを選びません。チェックを変更するたびに不変の入力から計算し直すため、操作の繰り返しで丸め誤差を積み重ねません。規約は予測可能なファイル名だけでなく、アセットの作業記録にも残してください。
修正ツールで回復できない情報
JPEGで消えた勾配、壊れたチャンネルからの完全な方向、不適切なUVやタンジェント生成は修復できません。継ぎ目統計は修正前後の正規化した対向辺を比較し、保証付きのシームレス再構成は提供しません。端のピクセルを等しくしても、微分、ミップマップ、自然な繰り返しまで一致するとは限りません。繰り返しを考慮した再生成には適切なハイトデータから始め、専用のシームレス生成ツールを確認してください。劣化した画像の繰り返し修正より良い原本を保管することが有効です。
ラップを考慮した法線生成を確認する修正の具体例と対象ユーザー
フィルタリング後の制作者には再正規化、既知の規約間で移行する開発者には緑反転、2チャンネル法線を受け取ったテクニカルアーティストには正のZ再構築が役立ちます。中立置換、再構築クランプ、アルファ清掃、変更ピクセルの数を表示して判断を追跡できます。差分表示はチャンネル変更の場所を示しますが、RGB差は形状誤差の測定ではありません。継ぎ目と単位長の許容範囲を個別に比較し、実際の照明とマテリアルの文脈で評価してください。
ロスレス書き出しと最終マテリアル確認
法線は数値バッファから直接作る本物のRGBA8 PNGとして保存し、Canvasの乗算済みアルファやガンマ情報を使いません。寸法と全アルファ値を維持します。対応する非インターレース8ビットPNGの入力も隠れたRGBを保持しますが、ブラウザ経由の形式では修正前に値を失う場合があります。名前にはfixed、Y方向、寸法が含まれます。ダウンロードを再検証し、ビューアーと対象レンダラーで確認してから本番アセットを置き換えてください。
修正した法線をビューアーで確認するよくある質問
チャンネル反転でも正規化されますか?
はい。各ベクトル編集は最後に正規化します。元のRGBを維持するには全部無効にし、透明パディングだけならアルファ清掃だけを選びます。
青を再構築すれば元の法線に完全に戻りますか?
対応する単位長X/Yから正のZ候補は求められますが、負の符号や他チャンネルで失われた情報は回復できません。
清掃で部分透明は消えますか?
いいえ。清掃はアルファゼロだけを対象にし、書き出しは全アルファ値を保持します。別のベクトル操作を選ぶと部分透明のRGBは変化し得ます。
シームレスになる保証はありますか?
ありません。修正前後の端の差を報告します。自然な繰り返しには元の構造、微分、フィルター、レンダラーの確認も必要です。