広告
広告

Eevee のセルルック技法まとめ

カテゴリ:blender

目次

カラーマネジメント

陰影なし表示

ライトの設定

基本

2影

テクスチャを使う

テクスチャで影を制御する

リムライト

透過

反射

頂点色の取得

任意の場所に影を作る

輪郭抽出

手動ライティング

ハーフランバート

Phongの反射モデル

外部リンク

カラーマネジメント

Blender 2.80 からビュー変換の Filmic が既定値になった。Filmic はダイナミックレンジが広がるため、フォトリアルなルックでは重要だ。しかしアーティストが直接色を指定するセルルックでは、コントラストの低下や色の変化が起こるため推奨しない。セルルックではビュー変換を「標準」にした方がよい。

flimic VS. default
Filmic と標準との比較
standard
ビュー変換の設定

陰影なし表示

陰影なし表示はカラーマネジメントの設定を無視して表示される。

Eevee

3Dビューのシェーディングをフラットにして、マテリアルかテクスチャを選択する。この設定はレンダリングに反映されない。

flat-shading
Eevee のフラットシェーディング

Workbench

照明をフラットにして、カラーのマテリアルかテクスチャを選択する。この設定はレンダリングに反映される。

workbench flat shading
Workbench のフラットシェーディング

ライトの設定

サンライト

サンライトは影の形がよくないので推奨しない。以下の画像の地面に落ちた影に注目すると、サンライトの方は影がなまっている。

sun light
サンライト
point light
ポイントライト

柔らかさ(2.80)

柔らかさは0が推奨値だ。柔らかさを上げると影がなまってしまう。バージョン 2.81 からはこの設定項目は削除された。

コンタクトシャドウ

Eevee は影の生成にシャドウマップを使用している。この方法は高速だが、テクスチャの精度の問題で厚みが薄かったりディティールの細かい部分では光が漏れる。コンタクトシャドウを有効にすると、そのような場所でも影を生成してくれる。ただしこれはスクリーン空間エフェクトなので視点によっては機能しないことがある。

contact shadow
柔らかさとコンタクトシャドウ

ソフトシャドウ(2.81)

ライトの半径を0にして、ソフトシャドウを有効にすると影にアンチエイリアスがかかる。

aa shadow
アンチエイリアスシャドウの設定

基本

basic
基本

ボケ量をコントロールする

追加で影の位置を、パワーでボケ量をコントロールできる。

no ramp
ノード

Eevee はマテリアル出力に色をそのまま出力できる。これは Cycles との互換性がなくなるうえに、コンポジットで法線が取得できなくなる。なのでセルルックであっても放射(Emission)ノードを介することを推奨する。

direct output
色をそのままマテリアル出力につなぐと、コンポジットで法線情報が取得できない

最後のノードに放射ノードではなくプリンシプル BSDF も使える。プリンシプル BSDF はアルファや SSS パスを使ってコンポジットする場合に便利だ。プリンシプル BSDF を使う場合はベースカラーを黒にして、スペキュラーを0に設定する。

principled bsdf
プリンシプル BSDF のノード例

2陰

two shadow
2影

ミックスを使う場合

mix
ミックスを使う場合

RGB ノードで色を指定できるようにする

以下のノードのカラーランプの明るさは、明るい順に 1.0, 0.9, 0.8, 0.0 だ。しかし数式ノードでフィルターする場合はガンマ補正が必要になるので、それぞれの値を 2.2 乗した値を数式ノードに入力する必要がある。

gt-mix
RGB ノードで色を指定できるノード

テクスチャを使う

以下のノードでは陰色の作成に「色相/彩度」を使用しているが、陰色のテクスチャを使うこともできる。

tex
テクスチャを使う

1枚のテクスチャに影色を含める

以下のように上下に色を配置したテクスチャを使い、UV をずらすことで影色を取得する。上下左右を使えば、2影やハイライトなども1枚のテクスチャで表現可能。

two value texture
テクスチャと UV の配置
two value texture node
2値テクスチャのノード

テクスチャで影を制御する

陰になってほしくない場所を指定したテクスチャがあれば、陰が落ちない場所を作れる。マスクテクスチャの画像ファイルの色空間を非カラーデータにするのを忘れないようにする。

mask node
マスクがない場合と違い、上面がすべて明るくなっている
mask texture
マスクテクスチャ例

リムライト

テクスチャで影を制御すると同様のノードでリムライトが不要な部分をテクスチャで指定することもできる。

輪郭抽出の補助としても使える。

rim
リムライト

フレネルを使う方法もある

fresnel
フレネルを使う場合

透過

Shader to RGB ノードはスクリーン空間屈折を処理できる。

settings
スクリーン空間屈折を有効にする
transparent
設定例

反射

Shader to RGB はスクリーン空間反射を編集できないが、環境テクスチャは編集できる。設定方法は、ワールドの「サーフェスを背景」にし「カラーを環境テクスチャ」にする。

reflection
環境テクスチャの反射

頂点色の取得

属性(Attribute)ノードに名前を指定することで頂点色を取得できる。頂点色をアルファと解釈して、毛先や服の装飾を透過させるといった使い道がある。RGB 分離(Separate RGB)ノードを使えば、頂点色の各チャンネルにさまざまな情報を格納できる。

バージョン 2.81 からは頂点カラーノードを使うことで頂点色を取得できる。

vertex color node
頂点カラーノード(2.81)
vertex color transparent
頂点色を使って透過
vertex color coloring
グレースケールの頂点色に色をつける

頂点ペイント作業を効率化する Vertex Color Master for Blender アドオンがある。

任意の場所に影をつくる

任意の場所に影をつくる方法は任意の場所に影を作るを参照。

輪郭抽出

輪郭抽出は輪郭抽出法まとめを参照。

手動ライティング

光源のワールド位置をドライバーで設定すると手動で陰を計算できる。ただし影が落ちないことに注意する必要がある

lambert
ランバートの計算

ハーフランバート

通常のランバートは球の半球がライティングされないので光源を複数用意する必要があった。ハーフランバートは球の全体をライティングするため編集が容易になる。以下のノードは正確な実装ではない。ハーフランバートの正確な式は正規化Half-Lambertを参照。

half lambert
左:ランバート 右:ハーフランバート

ハーフランバートをそのまま使う場合はパワーを追加するとよい。

half lambert pow
左:パワーなし 中:パワーあり 右:ランバート

Phongの反射モデル

example
左:Phong 右:ハーフランバート
node
ノード

光沢BSDFでも似た効果が得られる。

diffuse glossy
左:ハーフランバート+Phong 右:ディフューズBSDF+光沢BSDF

Crosshatching with Eevee





関連記事

Eevee の使い方

Blender でセルルックを作る方法まとめ

【Eevee】Blender2.8でトゥーンシェーダーを作る!の続き・背景色の影響を受けないようにする

任意の場所に影を作る

輪郭抽出法まとめ

Blender 記事の目次


広告
広告