Blender ウォッチング

無料3Dモデリングツール「Blender 4.2」の新EEVEEレンダーは簡単にリアルな描画が可能

刷新され作業効率が大幅UPしたEEVEEレンダーに迫る!

 本連載では、無料の高機能3Dモデリングツール「Blender」の使い方や関連情報を幅広くお伝えします。

 7月16日(中央ヨーロッパ夏時間)、「Blender 4.2」が公式リリースされました。本リリースでは、「EEVEE-NEXT」や「エクステンションプラットフォーム」といった大型の新機能があります。

 今回は新しくなったEEVEEレンダー(EEVEE-NEXT)について、機能が向上した部分と、変更点をご紹介していきたいと思います。

EEVEE-NEXT(現EEVEE)でのレンダリング例。アニメーションのみならず、このような製品使用例をすばやく形にするのに適しているのかもしれない

EEVEEレンダーとは

 EEVEEは「Blender」の公式リアルタイムレンダーです。仕様の制限や老朽化に伴い、EEVEE-NEXTプロジェクトにより生まれ変わりました(以降、v4.2のインターフェイスでは「EEVEE」ですが、区別をつけるため、本記事では「EEVEE-NEXT」と表記します)。

 色々新しくなった点はありますが、そういうのはすでに「Blender.orgの最終リリースノート」にデモがたくさんありますので、そちらをご覧ください。

 ……で終わらせてしまうとこの記事の存在理由がなくなっちゃいますので、ここではEEVEE-NEXTでのワークフローの解説、特に「いかに楽になったか?」に焦点を当ててみたいと思います。

 EEVEEレンダーは、もう一つのレンダーである「Cycles」と比べ、ほぼリアルタイムでレンダリングできる特長があります。

 その代わり、Cyclesでは必要のなかった設定が必要になります。Cyclesのように、そのまま光源とオブジェクトを置けば、リアルな画像が作成されるわけではないのです。

 EEVEE-NEXTでもそこまで簡単とはいきませんが、従来に比べて設定がぐっと楽になり、様々な機能やパラメーターもCyclesに近くなりました。

ライティングが楽に!

ワールドのHDR画像から影が付くように

 ワールドに「環境テクスチャ」として貼り付けたHDR(ハイダイナミックレンジ)画像から、明るいピクセルを「太陽」として影付きのサンライトに変換して照らしてくれるようになりました。

 残念ながら光源と思しき明るいピクセルが複数あっても、変換してくれるサンライトは1つだけです。[ワールドプロパティ]-[太陽]で、対象となるピクセルの範囲や、角度を変えることもできます。[影]も有効化することをお忘れなく。

[ワールドプロパティ]の[太陽]と[影]で設定。図のように複数のライトのあるHDR画像でも、生成されるサンライトは1つのみ

レイトレーシングによるグローバルイルミネーション

 グローバルイルミネーション(以下GI)とは、大局的(グローバル)な照明(イルミネーション)の意味で、ライトなどの「直接照明」のみならず、周囲からくる光(周辺光)や、近くの面の反射による「間接照明」を考慮した、リアルな照明のことです。

 EEVEE-NEXTは「レイトレーシング」([レンダープロパティ]-[レイトレーシング])を有効にするだけで、Cyclesのように正確ではないものの、GIによる照明が従来に比べて簡単に得られるようになりました。

レンダーテストでよく使用される「コーネルボックス」によるデフォルト状態でのテスト。旧EEVEEでは間接照明機能を使用しないといけない物が、EEVEE-NEXTでは「レイトレーシング」をONにするだけで得られる

 また、EEVEEでグローバルイルミネーションの表現に不可欠だった「アンビエントオクルージョン」は、レイトレーシング使用時に自動的に有効化されるようになりました。

影の設定が簡単に!

 影の設定がかなり簡略化されました。従来のシャドウバッファーの解像度設定やコンタクトシャドウなどといった細かな設定はデフォルトの精度で十分なため、なくなりました。基本的には「制限」により高速化していく方向で調整します。

 デフォルトでは影の縁はぼかされていますが、[レンダープロパティ]-[サンプリング][影]-[ステップ]を「1」にするとくっきりとした(あまり現実味のない)影になります。

以前より少なくなった影の設定

透過・屈折の設定変更

 EEVEE-NEXTでは透過設定も同様に楽になり、屈折のワークフローが大きく変わりました。特に屈折については戸惑う方も多いと思われますので、使用方法を簡単に解説します。

アルファ透過の設定が簡単に!

 従来の[マテリアルプロパティ]-[オプション]の「ブレンドモード」は廃止され、新たに「レンダーメソッド」が追加されました。

 [レンダーメソッド]には「ブレンド」と「ディザー」の2つが設定できますが、「ブレンド」を使用したマテリアルの面は反射や屈折に映らない制限があるため、基本的にはデフォルトの「ディザー」のままでOKです。

 つまり、新規で作成する場合は、いちいちマテリアルのオプションで設定しなくても、単に[画像テクスチャ]ノードの[カラー]と[アルファ]をそれぞれ「プリンシプルBSDF」の[ベースカラー]と[アルファ]ソケットにつなぐだけでよくなったのです!

 なお、従来の「アルファクリップ」を使用したマテリアルは、対応するノードツリーに変換されます。アルファクリップを使用する場合は手間が増えたわけですが、あまり使用する機会はないと思われます。

アルファ透過と屈折マテリアルの作例。奥の屈折オブジェクトが手前の屈折オブジェクトに透過し(映ら)ないのは仕様。飲み物は不透明な物のみ使用可能なのも以前と同じ

屈折方法の変更

 EEVEE-NEXTで屈折を表現する方法には、次の手順が必要です。

  1. 前述の「レイトレーシング」を有効にします。
  2. シェーダーエディターの[サイドバー]([N]キー)または[マテリアルプロパティ]の[オプション]-[設定]-[サーフェス]-[レンダーメソッド]を[ディザー]にし、[レイトレース伝播]をONにします。
  3. [幅](※)を形状に合わせて「球」または、「厚みのある板」に変更します。
  4. [マテリアル出力ノード」の[幅]ソケット(※)に[値]ノードを接続し、値を調整します。

(※今後[厚さ]に変更される予定です)

 特に重要なのは[値]ノードによる値の設定です。手動でわざわざ設定しなくても、形状から自動的に設定するノードツリーを作成することもできそうです。

上図のグラスのマテリアル設定。[値]ノードによる値の設定を行うことに注意

 他にも変更部分はありますが、詳しくは公式の移行ガイドの日本語訳がありますのでそちらをご覧ください。

その他の役立ちそうな情報

シェーダーコンパイルのマルチスレッド化

 「Blender」でファイルを読み込むときや、EEVEEの設定の変更時にシェーダーコンパイル(GPUにシェーディング用のコードを生成すること)が行われますが、結構待たされることがあります。

 [プリファレンス]-[システムタブ]-[メモリーと制限]-[最大シェーダーコンパイルサブプロセス数]をCPUで利用可能なマルチスレッド数に上げることで、シェーダーコンパイルの待ち時間が減ります。設定後は「Blender」の再起動が必要です。

[プリファレンス]-[システムタブ]-[メモリーと制限]-[最大シェーダーコンパイルサブプロセス数]設定

光沢のある面の裏にライトのハイライトが映る問題の修正

 従来のEEVEEでは、ある面の向こう側にライトを置き、その面のマテリアルがテカテカな場合、なぜかライトの当たらない反対側にハイライトが表示されてしまう不具合がありましたが、EEVEE-NEXTではめでたく解消されました。

左側(v4.1)でポイントライトの向こう側にハイライトが映っているのがおわかりいただけるであろうか……

終わりに

 今回は「Blender 4.2」のEEVEE(EEVEE-NEXT)についての楽になった部分と機能の一部をご紹介しました。書きたいことはまだまだたくさんあるのですが、とりあえずはここまでにしたいと思います。

 次回は「エクステンションプラットフォーム」について解説する予定です。

 ではまた。