概要
配布素材などのノーマルマップを、PixPipelineで加工できる高さマップへ戻す入口です。 法線は「傾き」しか持たないため元の絶対高度は復元せず、不透明な素材島ごとに平均0.5の 相対高さを作ります。出力は通常のImageなので、レベル補正・手直し・Surface化ができます。
使い方のポイント
- 定番は
image_load → tangent_normal_map → normal_to_relative_height → image_to_surface(height_map) → surface_rebuild_normal。最初のadapterで素材配布元の OpenGL/DirectX規約を必ず指定する - 「元の法線強度」は法線作成時の値に合わせる。分からない時は2から始め、復元結果が 深すぎるなら3〜4へ、浅すぎるなら1前後へ動かす
- 「高さの倍率」は復元後の見た目調整。布・肌は0.5〜1、石・浮き彫りは1〜2が目安。 先に元の法線強度を合わせ、最後にこちらで高低差を整える
- シームレスタイルだけ左右/上下ループをオンにする。通常のスプライトでオンにすると、 本来別の端を無理につないで形が平らになることがある
- 透明領域は別の素材島として積分しない。離れた複数パーツがあっても、それぞれの平均面が 0.5になるため、背景を横切る不自然な傾斜が入りにくい
よくある失敗
- 出っ張りが凹みに見える:
tangent_normal_mapのOpenGL/DirectX選択が逆。 高さ倍率でごまかさず、まずY規約を直す - 元の高さと完全一致しない: 仕様です。法線には絶対高度と一定オフセットがなく、急な崖や 飽和した法線から元の段差量も一意に戻せない。形の傾きが合うことを照明で確認する
- 高さが白/黒に張り付く: 高さの倍率を下げるか、元の法線強度を上げる。 0.5付近の階調が残る設定の方が後段で編集しやすい
- Surfaceのnormal_mapを直接adapterへ入れた: Surface法線はビュー空間で、外部素材の タンジェント空間法線とは意味が違う。通常は外部のノーマル画像を直接読み込んで使う
関連ノード
tangent_normal_map— OpenGL/DirectX規約を型に持たせる必須の前段image_to_surface— 復元高さをSurfaceへ入れるsurface_rebuild_normal— 高さ編集後に整合する法線を作り直すsurface_curvature— 復元した凹凸から曲率を生成する