Normalマップ理解メモ
otherのmemoです
https://gyazo.com/5ce1e56c3cdb84544ce1e16c97a4d09c
https://ja.wikipedia.org/wiki/法線マッピング
Q:RGB値がXYZ値に対応しているなら、平坦な部分はRGBのどれか一色の原色(例:#0000ff)になるのではないのか?
https://gyazo.com/6244aaabcab850d15f74e7010644407d
https://en.wikipedia.org/wiki/Normal_mapping
https://gyazo.com/b50e8662f16ac77a1e52129cd51e1bcb
A:
ZはXとYとは違って、0 ~ -1の値しかないため使う範囲も半分(裏面は見えないから?)、
平坦部分のノーマルの向きは(0,0,-1)なため、RGBに変換すると(128,128,255)となり、HEXに置き換えて#8080ffになる
余談
Q:なぜZは-1?
A:left handed orientationの場合、Xを右、Yを奥にしたときにZの正の方向が下になるから
https://gyazo.com/0228dfb755fd63e1af04613e99290e3a
wikipediaのはleft handed orientationの場合で書いているから、上むいてる面のノーマルは(0,0,-1)
Blenderはright handedだからZは0~1で扱ってると思う おそらく コードを書く人じゃないとただの雑学