広告
広告

Eevee の使い方

カテゴリ:blender

Eevee は Cycles と同じ物理ベースのレンダラーだ。ただしパストレーシングの Cycles と違って、Eevee はゲームエンジンで使われるラスタライズ法でレンダリングされる。パストレーシング(Cycles)では自動的に処理されるような表現の一部は、ラスタライズ法(Eevee)ではユーザーが明示的にセットアップする必要がある。

目次

AO(環境遮蔽)

鏡面反射

透過・屈折

皮下拡散(Subsurface Scattering)

間接光・放射(Irradiance Volume)

霧(Volumetric)

セルシェーディング

AO(環境遮蔽)

Eevee で AO を使うには Ambient Occlusion にチェックを入れ AO ノードを使う。

ao node
基本的な AO の設定

鏡面反射

平面の反射

鏡のような平面の反射は「Light Probe > Reflection Plane」を使えば表現できる。

reflection plane
Reflection Plane を配置するだけで反射する

メッシュの反射

Eevee は平面でないオブジェクトの正確な鏡面反射は計算できない。代わりに球もしくは箱で反射を近似するかスクリーン空間反射エフェクトかのどちらかが使える。

球もしくは箱で反射を近似する(Reflection Cubemap)

反射するメッシュの位置に Reflection Cubemap を配置すると近似された反射が写るようになる。この例ではスザンヌのマテリアルに光沢(Glossy)BSDF を使っている。

on
Reflection Cubemap あり
off
Reflection Cubemap なし

Reflection Cubemap は SSR(Screen Space Reflection)と同時に使える。

cubemap plus ssr
Reflection Cubemap + SSR

スクリーン空間反射エフェクト(Screen Space Reflection 以下 SSR)

SSR は Screen Space Reflections にチェックを入れると使える。制限はあるが Reflection Cubemap よりも正確に反射できる。

ssr
SSR

SSR はスクリーンに映っている物しか反射しないことに注意。なのでReflection Cubemap と同時使用を推奨する。ただし環境テクスチャは映る。

ssr warning
奥のキューブはスザンヌの側面を反射すべきだが、それがスクリーン上に映っていないため反射できない

透過・屈折

屈折を表現するにはマテリアルにグラス(Glass)BSDF を使い、マテリアルの Screen Space Refraction とレンダータブの Screen Space Reflection > Refraction とにチェックを入れる。

reflaction settings
Reflaction の設定
result
グラス BSDF を使用したスザンヌ

これもスクリーン空間エフェクトなのでスクリーン上に映っていない物は映らない。ただし環境テクスチャは映る。

アルファブレンド

マテリアルで Blend Mode を Alpha Blend にして透過(Transparent)ノードをミックスする。

alpha blend
アルファブレンドの設定

皮下拡散(Subsurface Scattering 以下 SSS)

SSS を有効にするにはマテリアルの Screen Space Subsurface Scattering とレンダータブの Subsurface Scattering とを有効にする。

sss
SSS の設定

Subsurface Scattering ノードよりもプリンシプル BSDF の方が SSS の調整はやりやすい。

sss result
SSS は逆光にするとわかりやすい

間接光・放射

放射(Emission)がほかのオブジェクトを照らしたり、ほかのオブジェクトが反射した光を表現するためには「Light Probe > Irradiance Volume」を配置する必要がある。

irradiance volume
底面の赤と側面の青がスザンヌに反射している

注意事項

ライトでなくメッシュの放射を大域的な光源として使うのは推奨できない。Eevee の放射は Irradiance Volume 内しか照らさないからだ。Irradiance Volume が巨大だとその解像度も上げる必要があり、キャッシュの計算に待たされることになる。加えてちょっとした操作で Irradiance Volume が再計算されるので非常に使いづらい。

Irradiance Volume を使っても放射オブジェクトは影を作らない。ラスタライズ法は影の生成にシャドウマップという、光源ごとに影生成用テクスチャを使う方法がよく使われる。シャドウマップで放射の影を生成するとポリゴン一枚ごとにテクスチャを割り当る必要があり、メモリが不足する。

将来的には OpenGL 版の DirectX Raytracing を使った、リアルタイムレイトレでこの影の問題は解決できる見込みである。もしくは反射・屈折・影の生成にリアルタイムでないレイトレを使う実装も考えられる。

霧(Volumetric)

レンダータブの Volumetric にチェックを入れて、プリンシプル Volume ノードを使うのが簡単だ。Volumetric ノードは Material Output の Volume ソケットにつなぐことに注意

volumetric
Volumetric の設定

セルシェーディング

Shader to RGB ノードを使う。一部のスクリーン空間エフェクトは反映されない。環境テクスチャやスクリーン空間屈折(Refraction)、SSAO は Shader to RGB ノードで処理できる。

Shader to RGB ノードは Cycles では使えない

npr
手前のスザンヌはグラスBSDFを使い、奥のスザンヌはディフューズBSDFを使っている

関連記事

Blender 記事の目次


広告
広告