読者です 読者をやめる 読者になる 読者になる

CGメソッド

CG制作に関してのヒント

MENU

【Unity】リニアワークフローについて

Unity Unity-Rendering Maya Maya-Rendering

follow us in feedly

f:id:min0124:20160828115925p:plain

ふとリニアワークフローを勉強してみようかと思いましたが、思った以上に難しいです。

修正・加筆していくかもしれません。

リニアワークフローとは

ググれば色々解説があります。昔の規格をひきづって色々面倒なことになってます。

mtazmi-Lab: リニアワークフローて何?(専門用語抜き挿絵マシマシ)

物理ベースレンダリング -リニアワークフロー編 (1)- | Cygames Engineers' Blog

参考サイト

technorgb: unity リニアワークフロー

こちらの記事を再現してみました。

環境構築

  • オブジェクト SphereとPlaneを作成

  • カメラ(Main Camera)の位置調整

  • ライト(Directional Light)の色は白に

  • マテリアル(New Material)Shader(Legacy Shaders/Diffuse)※床と球にアサイン

  • ライト設定 Window>Lightingを開いてAmbient Source(Color)に。念のためReflection Source(Sustom)に

※Mayaで作成したシーンをUnityへ持ってきて調整しています。

リニア設定

Unity

カラースペースの切り替え

Edit>Project Settings>Player Settings>Color SpaceをLinear

ライトとマテリアルの設定

リニア空間(ガンマ2.2の補正)を考慮して設定する。

入力したい数字に1/2.2(0.454545455)乗してをライトとマテリアル(テクスチャ)に入力する

ライトの強度

Intensity 4にしたいので、

4^(1/2.2)=1.878

Intensityに1.878を入力

マテリアルのカラー

Diffuse 0.1にしたいので、

(0.1^(1/2.2))*255=89.53538922

Main Colorに90を入力

f:id:min0124:20160828180210p:plain

一番明るい所がモニター上では

(強度×ディフューズ)^ 0.4545....

(4*0.1)^ (1/2.2)=0.659353291

0.66 (168/255)になる。

Maya

ライト

DirectionalLightのIntensity 4に

マテリアル

LambertのColorをRGB(0.1,0.1,0.1)にして、Diffuseを1に

カラースペースはRendering Space(デフォルト)のまま

レンダリング

そのままレンダリングして Save Color-Maneged Imageで保存

f:id:min0124:20160828221330p:plain

Unity同様一番明るい所がモニター上は0.66 (168/255)になる。

ガンマ設定

普段の状態です。比較して気がつくことがあるかもしれないので。

Unity

カラースペースの切り替え

Edit>Project Settings>Player Settings>Color SpaceをGammaに(デフォルト)

ライト

DirectionalLightのIntensity 4に

マテリアルのカラー

一番明るい場所を0.66 (168/255)にしたいので、

((168/255)/4)*255=42.03377227

Main Colorに42を入力

f:id:min0124:20160828195453p:plain

Maya

ライト

DirectionalLightのIntensity 4に

マテリアル

一番明るい場所を0.66 (168/255)にしたいので、

((168/255)/4)=0.164838323

LambertのColorをRGB(0.164,0.164,0.164)にして、Diffuseを1に

カラースペースはRendering Spaceのチェックを切る

f:id:min0124:20160828221315p:plain

感想

f:id:min0124:20160828221259p:plain

LWFに関して、Mayaはそこまで手間があまりかからないのですが、

Unityはライトもマテリアルのカラーも補正を計算して入力しないといけないので面倒です。