Blender ウォッチング

無料の3DCG統合環境「Blender 5.2」は紙のように薄く光を透過する物をリアルに表現

Cyclesはテクスチャキャッシュでメモリ使用量の削減が可能に!

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

[薄い壁]機能を使用した灯篭。せっかくなのでカラフルな感じに

 7月14日(中央ヨーロッパ夏時間)、「Blender 5.2」が公式リリースされました。

 本リリースはメジャーアップデートの後であるためか、新機能の追加や変更が減った代わりに、修正や改善が多数あります。

 今回も3回にわたるこの集中連載で重要と思われるものを、いつものように独断と偏見でピックアップしてご紹介していきたいと思います。

EEVEEレンダーの新機能と変更

 「Blender」のリアルタイムレンダー「EEVEE」レンダーでは、レイトレーシング機能のオーバーホールが行われ、精度が改善しました。

レイトレーシング機能のオーバーホール

 EEVEEレンダーには、最近のリアルな映像の3DCGゲームにはほぼ搭載されている「スクリーンスペースレイトレーシング」があります。これはスクリーンでの表示から、光が遮蔽されているかどうかを「レイトレーシング」を行って判断し、反射・屈折や陰影付けなどの処理を行います。

 今回のこの処理のオーバーホールで、従来の問題の多くが解決されました。バージョニングコードにより、従来のファイルの読み込み時はほぼ同じ見た目に変換されますが、暗くなることもあるので、その時は調整が必要になるとのこと。

 とはいえ、次のアンビエント・オクルージョンと併用することが多いので、大抵はむしろ明るくなるものと思われます。

同じシーンを5.1と5.2のEEVEEでレンダリングした画像の比較

アンビエント・オクルージョンの改善

 形状の凹んだ部分や壁が向き合う部分に生じる「アンビエント・オクルージョン」(以下AO)に関する問題がいくつか解決し、必要以上に暗くならないようになりました。

 こちらはレンダリング結果が明確に変わるため、必要であれば[レンダープロパティ]の[レイトレーシング]-[高速GI]-[幅]を増やして調整してみてください。

EEVEEでのAOのレンダリングの比較(+Cyclesによる参考レンダリング)

裏面オプションの追加

 [スクリーントレーシング]パネルに追加された、新しい「裏面」オプションにより、カメラの向きと反対側を向く面を利用できるようになりました。

 スクリーンスペースレイトレーシングでは、画面内に表示されている面のみを鏡面反射や光沢の反射に利用し、向こう側を向いている面は使用しません。これを防ぐには形状に合わせた「ライトプローブ」を使用するのですが、全部に付けるぐらいならCyclesでええやん、となってしまいます。

 そこでこのオプションである程度改善できます。デフォルトで有効化されており、隣の[裏面放射スケール]が「0.0」で片面、「1.0」で両面を照らします。

[裏面]なし(左上)では、上の球には下側のカメラと向こう側を向く面(裏面)は映らないが、ONにすると黒く映り、[裏面放射スケール]を「1.0」にすれば、正確ではないがある程度反映される

 全体オプションですので、何も考えずに使うと光が壁を抜けたようになる部分もできるので注意が必要です。

箱に右上からライトを照らし[裏面オプション]を「0.0」と「1.0」で比較。1.0で光が透過したような見た目に。

 他にもレイキャストノードの可視性がオブジェクト毎になったり、インスタンスのレンダリングが高速化するなど、多くの改善が行われています。

Cyclesレンダーの新機能と変更

 一方、Cyclesレンダーには、貴重なメモリの使用量を節約する機能が追加されました。

テクスチャキャッシュ

 テクスチャキャッシュは、テクスチャファイルを別の形式のファイルに変換してキャッシュとして扱うことで、ストレージを消費する代わりにメモリ消費量を減らす機能です。速度はほぼ変わりません。

利用方法

 設定は[レンダープロパティ]-[パフォーマンス]-[テクスチャキャッシュ]にあります。

 [自動生成]を有効化すると、レンダリング時に、現在使用されているテクスチャファイル毎に『そのテクスチャファイルのあるフォルダー』(デフォルト設定)に、「blender_tx」という名前のフォルダーを作成し、「各テクスチャ名.tx」のファイルを自動的に作成します。テクスチャに変更があった場合は、自動的に「.tx」ファイルも更新します。

 txファイルにはオリジナルテクスチャファイルのサイズ違いのテクスチャデータが含まれており、容量が大きくなります。

テクスチャキャッシュ設定。デフォルトで有効化されており、[自動生成]を有効化するとレンダリング時に使用中のテクスチャファイル毎にtxファイルを作成する。
テクスチャファイルのある場所に、「blender_tx」というフォルダーを作成し、「各テクスチャ名.tx」のファイルを自動生成する。[生成]で手動生成も可能

 txファイルを生成する場所は、プリファレンスの[ファイルパス]タブにある[レンダー]-[テクスチャキャッシュ]に絶対パスを指定することで、1カ所に集めることもできます。

プリファレンスの[ファイルパス]タブにある[レンダー]-[テクスチャキャッシュ]に絶対パスを指定すれば、txファイルを分散させず集めることも可能

 [クリア]ボタンで削除もできますが、「Blender」のファイル使用中はロックされ、削除に失敗することがあります。その時は「Blender」を再起動して同じblendファイルを読み込み、改めて[クリア]ボタンで消してください。

 筆者は大量のテクスチャファイルを使用したblendファイルを持っていなかったので、代わりにblender.orgのデモファイルの一つである、「Classroom」(Christophe Seux 氏作) を使用してみたところ、ピーク時のメモリ使用量が1045MBから925MBと約100MB減りました。

classroomでのテクスチャキャッシュ使用例。ピークのメモリ消費量が1045MBから925MBと減少

 メモリサイズは、少し上の[メモリ]-[タイルサイズ]でタイル分割することで、さらに減らすこともできます。

ワールドの影の生成オプション

 「ワールド」マテリアルに、[影を生成]オプションが追加されました。

 デフォルトで有効になっていますが、ノンフォトリアリスティックレンダリングで影が不要な時に生成を止めたい時に便利です。

 むしろ間違ってOFFにしてしまわないように注意した方がいいかもしれません。

シェーダーエディターの[ワールド]モードのサイドバーの[オプション]にある。間違って無効化しないよう注意

両レンダー共通の変更

薄い壁オプション

 プリンシプルBSDFノードに追加された[薄い壁]は、例えば葉っぱなどのような「光が半透明で透過する」物を表現するのに使用します。また、例えば立方体などの閉じた形状にガラス状の屈折するマテリアルを使っている場合、有効化すると屈折しなくなります。

[薄い壁]使用例。障子の重なる部分が鮮明になっている

 なお、このオプションの名前(日本語訳)は次のバージョンで変更される可能性があります。

終わりに

 次回は「Blender 5.2」のジオメトリノード関連の新機能と変更についてご紹介する予定です。

 ではまた。