陰と彩度

CGにおける陰〈影〉と彩度についての考察。
4
Nao_u @Nao_u_

『影付けるときに明度下げて彩度上げるのが基本っぽいけど何で?』 http://bit.ly/hYDBPq イラストに色を塗るときの話なんだけど、CGの光源計算的にも興味深い話題。

2011-01-20 06:35:17
Nao_u @Nao_u_

とりあえず話がややこしくなるのでスペキュラは無視してデフューズのみで考えてみる。CGの光源計算だと、影になっている部分が暗くなるわけではなく、逆に光の当たってるところが明るくなるように計算する。

2011-01-20 06:35:54
Nao_u @Nao_u_

影部分の色は環境光(下地の色×周囲からの光)で決まり、光の当たっているところは影部分の色に(下地の色×光源色)を加算したものになる。

2011-01-20 06:36:12
Nao_u @Nao_u_

もし光源色が白色光なら、光源計算の結果は影部分に下地の色と同じ比率でRGB値が足されたものになるので、光が当たっているところから影部分の色を求めるときには、単純にRGBが一様に暗くなるような乗算処理で影の色を求めることができる。

2011-01-20 06:41:49
Nao_u @Nao_u_

でも、たとえば昼間の太陽光であれば大気でB成分が拡散されて白ではなくやや黄色っぽい光になる。黄色い光源が当たってるときの影色は、青成分が多く残るように光源色を乗算することで求められる。影色を求めるときに単純に明度を下げるだけでは違和感があるのはこの辺が原因だったりするかも?

2011-01-20 06:44:06
Nao_u @Nao_u_

旧世代機などでフルシーンシャドウが使えなくて乗算で暗くして影部分を作るときには、単純に黒を乗算するのではなく光源色を考慮して減衰させることで、光源処理との整合性が取れて少しは違和感が減るかもしれない。この辺もしどこか勘違いがあるようであれば、指摘していただけるとありがたいです。

2011-01-20 06:45:53
Nao_u @Nao_u_

あと、「曇りだと彩度が高く見える」という話もとても興味深い。人間の目やカメラは極端に明るい部分の輝度の差には鈍感で、逆に暗い部分の差には敏感なので、強い光が当たらなくてコントラストが低い曇り空の時のほうが、色の差に敏感に反応する、みたいなことになってるのかな。

2011-01-20 06:46:46
Nao_u @Nao_u_

ガンマを考慮すると、たとえば直接光が白色のときには光が当たっている部分よりも、影になっている場所の方が、より環境光の色の影響を強く受けたような見た目になるんじゃないか、という気がしてきた。

2011-01-20 06:47:52
Nao_u @Nao_u_

たとえば昼間の晴天下では空の青が反映されて環境光が青くなる。最終的な光の強さにガンマ補正をかけると、青い環境光下で白色光が当たっているときには、光が当たってるところよりも影の中の方がより青の影響を強く受けた色になりそう。

2011-01-20 06:49:39
Nao_u @Nao_u_

なので、影の色を付けるときに明度を下げるだけでなく彩度を上げるのは「人間の目やカメラのようなガンマ補正がかかっているときの見え方に近いから」というのが原因だったりするかも?この辺はちょっと自分の理解が怪しいところもあるけど。

2011-01-20 07:15:23
Nao_u @Nao_u_

あと彩度について。RGB値をモノクロ化するときにはY=(R×0.299+G×0.587+B×0.114)を使うのが一般的らしいので、シェーダーでモノクロ化するときはこのRGBすべてにこのYの値を突っ込むやり方を使ってた。

2011-01-20 07:15:38
Nao_u @Nao_u_

で、RGB値をこのYの値に向かって補間すればだんだんモノクロに近づいて彩度が落ちていくので、それを逆方向に使えば彩度が上げられるはず、という前提で彩度調整をしてたんだけど、改めて考えるとこのやり方って正しいんだろうか?そもそも彩度って何なんだろう?

2011-01-20 07:17:10