リニアワークフロー(LWF)は、物理的に正確なライティングを実現するための仕組みです。
昔のモニター規格の名残で、設定がやや複雑になっています。この記事では、UnityとMayaでリニアワークフローを設定する方法を解説します。

リニアワークフローとは
簡単に言うと、光の計算を物理的に正しい「リニア空間」で行い、最終的にモニター表示用に「ガンマ補正」をかける仕組みです。
詳しく知りたい方は以下の記事が参考になります。
- mtazmi-Lab: リニアワークフローて何?
- Cygames Engineers’ Blog: 物理ベースレンダリング -リニアワークフロー編
- technorgb: unity リニアワークフロー
検証環境の準備
以下のシーンを作成して検証します。
- オブジェクト:SphereとPlane
- カメラ:位置を調整
- ライト:Directional Lightの色を白に設定
- マテリアル:Legacy Shaders/Diffuseを使用(床と球にアサイン)
- ライト設定:Window → Lighting → Ambient Sourceを「Color」に、Reflection Sourceを「Custom」に
リニア設定(Unity)
カラースペースの切り替え
Edit → Project Settings → Player → Other Settings → Color Spaceを「Linear」に変更します。
値の補正について
リニア空間では、入力値にガンマ補正(1/2.2乗)をかける必要があります。
ライトの強度
Intensity 4にしたい場合の計算式は以下の通りです。
4^(1/2.2) = 1.878
Intensityに「1.878」を入力します。
マテリアルのカラー
Diffuse 0.1にしたい場合の計算式は以下の通りです。
(0.1^(1/2.2)) × 255 = 89.5
Main Colorに「90」を入力します。

結果の確認
一番明るい部分のモニター上での値は以下のようになります。
(強度 × ディフューズ)^(1/2.2)
(4 × 0.1)^(1/2.2) = 0.66 (168/255)
リニア設定(Maya)
ライト
Directional LightのIntensityを「4」に設定します。
マテリアル
LambertのColorをRGB(0.1, 0.1, 0.1)に、Diffuseを「1」に設定します。カラースペースはRendering Space(デフォルト)のままで問題ありません。
レンダリング
通常通りレンダリングし、「Save Color-Managed Image」で保存します。Unity同様、一番明るい部分は0.66(168/255)になります。

ガンマ設定(比較用)
リニアとの違いを確認するため、通常のガンマ設定も記載します。
Unity(ガンマ設定)
- Color Spaceを「Gamma」に(デフォルト)
- Directional LightのIntensityを「4」に
- 一番明るい場所を0.66(168/255)にするためのマテリアル値
((168/255) / 4) × 255 = 42
Main Colorに「42」を入力します。

Maya(ガンマ設定)
- Directional LightのIntensityを「4」に
- 一番明るい場所を0.66にするためのマテリアル値
(168/255) / 4 = 0.164
LambertのColorをRGB(0.164, 0.164, 0.164)に設定し、Rendering Spaceのチェックを外します。

リニアとガンマの設定比較
| 項目 | リニア(Unity) | ガンマ(Unity) |
|---|---|---|
| Color Space | Linear | Gamma |
| Light Intensity | 1.878(補正後) | 4 |
| Material Color | 90(補正後) | 42 |
| 最終出力 | 168/255 | 168/255 |

まとめ
- Mayaはリニアワークフローの設定が比較的シンプル
- Unityはライトもマテリアルも補正値を計算して入力する必要がある
- 計算式は「入力したい値^(1/2.2)」を覚えておくと便利
- リニア設定により、物理的に正確なライティング結果が得られる
リニアワークフローは設定が面倒ですが、正確なライティングを実現するためには重要な概念です。プロジェクトの要件に応じて使い分けてください。
