リニアワークフロー(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 |

Unityに関するほかの記事は、まとめからご覧いただけます。

環境設定の記事は、ほかにもあります。




まとめ
- Mayaはリニアワークフローの設定が比較的シンプル
- 本検証のUnity環境では、目的の出力値に合わせて補正値を計算・入力する必要がある
- 手動補正を行う際は「入力したい値^(1/2.2)」の計算式が有効
- リニア設定により、物理的に正確なライティング結果が得られる
リニアワークフローは色の扱いに注意が必要ですが、正確なライティングを実現するための重要な基盤です。
プロジェクトの仕様やパイプラインに応じて適切に設定してください。
