Color Space (カラースペース / 色空間)は、ゲームグラフィックスのレンダリングや最適化(テクニカルアート)において極めて重要となる技術用語です。Unityのレンダリング計算時に用いられる色の表現方式(LinearとGamma)の違いと、物理的に正しい光のブレンドやHDR表現の基礎解説。

現実世界での例え:普通の『電卓』での計算と、『物理の数式(二乗など)』を正しく考慮した科学計算

カラースペースは、「光の強さを足し算するときに、普通の電卓(Gamma)で計算するか、二乗などの物理特性を正しく戻してから計算する(Linear)かの違い」です。人間の目は暗い色の変化に非常に敏感なため、画像ファイルはあらかじめ暗い部分を引き伸ばして保存されています(Gamma)。これをそのまま足し算すると、「1+1=2」のはずが、物理的には「1.5+1.5=4.5」のように急激に明るさが爆発してしまい、白飛びや黒沈みが起きます。Linear空間は、一度データを「元の本物の物理光の強さ」に戻してから正確に計算するため、極めて滑らかで本物の光のような美しいブレンドが作られます。

Color Space (カラースペース / 色空間) concept infographic diagram

図:Color Space (カラースペース / 色空間)の基本的な処理フローと仕組みを日本語表記で分かりやすく図解したインフォグラフィック

詳細な仕組みと動作原理

Project SettingsのPlayer設定で「Color Space」を「Linear(リニア)」に変更し、GPU内部のライティング計算をすべて物理的に正しい線形空間で行い、最終出力時にディスプレイ用のガンマ補正を自動適用させます。