TIPs of Blender3.x – #001. Render Engine

前提条件

OS:Windows 11 Pro
Blender:v3.5

BlenderのRender Engine(レンダーエンジン)

3Dグラフィックス(画像)を生成するのがRender Engine(エンジン)ですが、Blenderにはデフォルトで3種類のエンジンが搭載されています。

公式の情報

Blenderの公式ドキュメントには以下の様に記載されています。

  • Eevee is a physically based realtime renderer.
  • Cycles is a physically based path tracer.
  • Workbench is designed for layout, modeling and previews.
https://docs.blender.org/manual/en/latest/render/introduction.html

この中で「Workbench」(ワークベンチ)は、レイアウト・モデリング・プレビュー用となっていて、これは主に3D Viewport(Solid Mode)で高速に描画するためのものであるので、最終レンダリングに使われる事はありません。

なので以降はEevee(イーヴィ)とCycles(サイクルズ)についてのみ記載します。

EeveeとCycles

どちらも基本PBR(Phisically Based Rendering…物理ベースレンダリング)が原則ですが、ざっくりと違いを記載すると以下の様になります。

特徴EeveeCycles
レンダリング手法Rasterization
(ラスタライゼーション)
Ray Tracing
(レイ・トレーシング)
表現の正確性完全ではない
(制限あり)
ほぼ完全
描画品質
描画速度速い遅い
(PCパワーが必要)

文字だけでは違いが分かりにくいので、下記の様な簡単な例(光の反射や屈折を含む)でレンダリング結果の違いを見てみます。

それぞれのオブジェクトのマテリアルはざっくり以下の様に設定します。

PlaneCubeCilinderUV Sphere
ShaderPrincipled BSDFPrincipled BSDFPrincipled BSDFGlass BSDF
Base Color(Color)任意
Roughness0.00.0任意0.0
Emissionオレンジ
Emission Strength10.0

EeveeとCyclesはレンダリング手法が違うので、描画パラメータの設定方法も一部違いがありますので、その辺も比較していきたいと思います。

Eevee

Eeveeの選択

Render PropertirsタブのRender Engineで「Eevee」を選択します。

3D Viewportで「Render Preview」を選択し、Eeveeでのレンダリング結果を確認します。

何かのっぺりした画面で、発光も反射も屈折もしていません…。

設定を変更して求めるレンダリング結果に近づけていきます。

影を消す

ビームとして設置したCilinderの影がPlane上に落ちているのでこれを消します。(実際にビームがあったら影が落ちるか落ちないかわかりませんが…)

Cilinderオブジェクトを選択して、Material Propertisタブを選択し、Settings項目の「Shadow Mode」(影モード)を「None」(なし)に変更します。

発光させる

ビームのCilinderが白っぽいだけで発光して見えないので、発光させます。

Render Propertiesタブの「Bloom」(輝き(?))にチェックを入れます。(詳細設定もありますが、とりあえず大元にチェックを入れるだけで良いでしょう)

反射させる

Cilinder以外はRoughness(表面の粗さ)を0にしたのでツルツルな表面のハズですが、なにも反射していませんので、反射させます。

何となく反射はしていますが、所々正しく反射が描画されていない様です。

Eeveeの限界

Eeveeエンジン(ラスタライゼーションによるレンダリング手法)を使った場合、光の屈折や反射がうまく表現できません。

直接物に反射している部分が正しく見えますが、2回以上反射しているものや他のオブジェクトに隠れるなどしているものはおかしくなります。

ガラスなどもマテリアルにGlass Materialを設定しただけでは上手くレンダリングできません。
(Principled BSDFにしてパラメータを調整すればそれっぽく透過させる事が出来ますが、やはり、屈折はうまく表現できません…)


Cycles

Cyclesの選択

Render PropertirsタブのRender Engineで「Cycles」を選択します。

ただし、デフォルトのままだとよほど高スペックのPCでないと処理が重いので、品質より軽さを重視したパラメータに調整します。

Sampling設定の中で、Viewportの「Max Samples」(最大サンプル数)を1に(できるだけ小さく)し、「Denoize」(ノイズ除去)にチェックを入れます。また、最終版の品質が必要でない開発中はRenderのMax Samplesも128の様に値を小さくします。

さらにレンダリング時の処理時間を短縮するために、Output PropertiesタブのFormat中の「Resolution」(解像度)のサイズを512px x 320pxの様な最低限の解像度にします。(レイ・トレーシングでは画素数に比例して演算量が増えるので、画素数を減らせば処理時間が短縮されます)

その後3D Viewportで「Render Preview」を選択し、Cyclesでのレンダリング結果を確認します。

Max Samplesを1にしているため若干画質は悪いですが、それでも視点の変更などある程度追従してくれます。

この時点でのEeveeとの違いは、UV Sphere(ガラス玉)がちゃんとガラスの様に屈折が描画されている点と、各オブジェクトの反射が描画されている点です。

さすがレイ・トレーシングですね!

しかし、イメージしている最終形とは少し違いますので、設定を変更して求めるレンダリング結果に近づけていきます。

影を消す

ビームとして設置したCilinderの影を消します。
(Eeveeとは設定方法が異なります)

Cilinderオブジェクトを選択して、Object Propertisタブを選択し、Visibility項目のRay Visibilityの「Shadow」(影)のチェックを外します

発光させる

ビームのCilinderを発光させます。
(発光のさせ方もEeveeとは異なります。)

① 一度Rneder Image(F12)を実行してレンダリング

② 上部ワークスペースリストから「Compositing」を選択し、「Use Nodes」にチェックを入れる

Shader Editorの様な画面が出てきました。
この画面でレンダリングした画像に対して効果を追加します。

③ AddメニューからFilter→Glareと選択して、Glareノードを追加し、「Render Layer」と「Composite」の間に配置

④ Glareノードの種類を「Fog Glow」へ変更

※「Fog Glow」にしたのはEeveeの発光に近づけるためです。

⑤ AddメニューからOutput→Viewerと選択して、「Viewer」ノードを追加し、「Glare」とimage同士を接続

※Viewerノードは必須ではありませんが、レンダリング結果のプレビューができるので便利です。

⑥ Render Image(F12)を実行

※Cyclesでの発光は3D Viewportでは描画されません。Rendering+Compositingの結果になります。

最終的には…

最終的な品質にする場合は、Render PropertiesタブのRender項目のMax Samplesを戻したり、Output PropertiesタブのFormat項目のResolutionのサイズを元に戻します。

※この値を戻すと、レンダリングがとてつもなく重くなりますが…

EeveeとCyclesレンダリング結果

並べると差がはっきりしますね。


まとめ

今回はBlenderのレンダリングエンジン(Eevee、Cycles)について見てきました。

描画の正確さはCyclesの方が上ですが、やはり処理の重さがネックです。

Cyclesを使わなくても済むようなモデルであれば、Eeveeでも十分でしょう。
(どちらを使うかは、何が必要かによるでしょう)

また、ネットや動画でBlenderでの3D グラフィックスを勉強しようとする場合は、まず初めに、Eeveeを使っているのかCyclesを使っているのかを確認した方が良いでしょう。設定方法が全く違う部分もあるので…。


投稿一覧はこちら