Blender ウォッチング

「Blender 3.4」では機械学習によりパストレースレンダラーの品質が向上

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

 12月7日(GMT)、「Blender 3.4」が公式リリースされました。このリリースにも新機能が追加されています。

 今回は「Blender」のレンダラーの1つである、「Cycles」用に追加された「パスガイディング」機能についてご紹介します。

パスガイディングなし、ありによる比較

パスガイディングとは

 「パスガイディング」(Path Guiding)とは、文字通り光の経路(Path)をガイドすることです。

 Cyclesでは、発射した光(レイ)の経路を追跡し、光の反射や散乱を計算する「レイトレーシング」(※)を使用しています。これにより、複雑な間接光による照明が表現できます。(※実際はレイトレーシングを拡張した「パストレーシング」になりますが、大筋は同じです)

 通常、このレイを発射(サンプリング)した数が多ければ多いほど、出来る画像もリアルになります。逆にいえば、ある程度のサンプリングを行わないと、リアルな画像にならないということです。

 サンプリング回数は「サンプル数」でコントロールでき、数を増やすとそれだけ時間がかかります。サンプリングは乱数で行われますが、中には照明に寄与しない物もあるので、もしそういった無駄を減らすことができれば、品質が上がり、時間も減りますよね。

 そんな無駄を減らすため、機械学習の力を借りて光の分布を予測しようとするのがこの「パスガイディング」です。本リリースでは、Intelが開発した「Open Path Guiding Library」を組み込んでいます。
 残念ながら現時点ではCPUのみで、GPUレンダリングには未対応です。

使用方法

 パスガイディングは上述のように「Cycles」レンダーの機能で、「CPU」のみ対応しています。よって、

  • [レンダープロパティ]内の[レンダーエンジン]を「Cycles」に、[デバイス]を「CPU」にします。
  • [サンプリング]-[レンダー]-[パスガイディング]を有効化します。
[レンダープロパティ]内の[レンダーエンジン]を「Cycles」に、[デバイス]を「CPU」(①)にし、[サンプリング]-[レンダー]-[パスガイディング](②)を有効化

画像の比較

 では実際にどれぐらい変化があるか、試してみましょう。

 「Windows 10 Pro」「i7-2600」、そして執筆の都合により「Blender 3.4RC」を使用しています。

 今回は時間の計測ではなく、「指定時間」(5分)後のレンダリング結果を比較します。これは終了条件がデフォルトの「ノイズしきい値」や、「サンプル数」ではサンプリング品質がわからないためです。

簡単な室内シーンによるレンダリング比較

 まずは「パスガイディングなし」でレンダリングしてみた画像です。レンダリング時間が短いのでノイズは多めです。窓から入射した光が壁に衝突し、室内を照らしています。

「パスガイディングなし」でレンダリング

 次は「パスガイディングあり」でレンダリングした画像です。先ほどの画像に比べて明るいのがわかります。これはパスガイディングにより、間接照明に寄与する光が優先的にサンプリングされていることが推測されます。また、ノイズも減っています。

「パスガイディングあり」でレンダリング。パスガイディングにより、先ほどより明るくなっている

ボリュームを追加したシーン

 このパスガイディングは「ボリューム」(煙などの気体)にも対応しているということなので、室内に浮く埃の表現として、部屋オブジェクトにボリュームを重ねてレンダリングしてみます。

シーンの部屋にボリュームオブジェクトを囲んでみた

 上記同様、先に「パスガイディングなし」でレンダリングしてみます。

 ボリュームによって先ほどより少し暗くなり、代わりに右側から差し込む光に埃が照らされてはっきりわかるようになっています。

再度「パスガイディングなし」でレンダリング。少し暗くなり、差し込む光が明瞭に

 では「パスガイディングあり」でレンダリングした画像を見てみましょう。ボリューム未使用時に比べて暗くはなっているものの、やはりパスガイディングなしと比較して明るくなっています。

同じく「パスガイディングあり」でレンダリング。こちらもパスガイディングなしと比較して明るくなっている

終わりに

 今回は「Blender 3.4」で追加されたパスガイディング機能をご紹介しました。まだCPUのみなのは残念ですが、機械学習による可能性が感じられるアップデートだと思いました。

 ではまた。