Blender ウォッチング

「Blender 3.5」の新機能を解説! 光源が多数あるシーンでノイズを減らして軽量化する「ライトツリー」

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

 3月29日(GMT)、「Blender 3.5」が公式リリースされました。

 今回はまず、「Blender」のレンダラーの1つである、「Cycles」用の新機能「ライトツリー」機能をご紹介します。本記事では都合上「Blender 3.5」リリース候補版を使用していますが、この時点での仕様変更はないため、実質正式リリース版と同じです。

Blender 3.5のスプラッシュスクリーン(Nicole Morena氏作)

Cyclesレンダーの新機能、ライトツリー

 ライトツリーは、名前の通り「Cyclesレンダー」の光源処理を補助する新しい機能で、多数の光源があるシーンでのノイズを減らすことができます。

使用方法

 [プロパティエディター]内にある[レンダー]プロパティの[サンプリング]-[照明]内の[ライトツリー]をチェックすると有効になります。

 CPUとGPUレンダリングの両方に対応しており、新規シーンではデフォルトで有効化されています。

[プロパティエディター]内にある[レンダー]プロパティの[サンプリング]-[照明]内の[ライトツリー]をチェックして有効化

比較

 比較は以前の連載でも登場した通路のシーンで行いました。上に釣っているランプ内のろうそくの炎は下図のような、メッシュ形状に「放射」シェーダーノードを使用した光源になっています。

メッシュ形状と放射シェーダーによる光源

テスト環境と条件

  • OS:Windows 10 Pro 64bit版
  • メモリ:16GB
  • CPU:Intel Core i7-2600
  • GPU:NVIDIA GeForce RTX 2060 12GB(
  • 「Blender」のバイナリ:blender-3.5.0-candidate+v35.d5d8246441a53.5
  • [サンプル数]:「4096」
  • [時間制限]:1 min(実際は後処理などでもう少し長め)

このリリースでは、ライトツリー機能はAMDのGPUでは動作しません。今後のリリースで対応される予定です。

間接照明の制限なしでの比較

 デフォルトの新規 .blend ファイルでは、[ライトパス]-[制限]-[間接照明]に「10.0」が設定されています。この設定では不要な間接照明による光の反射をカットして、ノイズを減らします。

 ここではこのパラメーターを「0.0」にし、ノイズが視覚化されるようにしています。また「デノイズ」機能も切っています。

[レンダープロパティ]の[ライトパス]-[制限]-[間接照明]を「0.0」、[レンダー]-[デノイズ]もOFFにしてテスト

 上が従来のライトツリーが「なし」、下がライトツリー「あり」の画像です。少しわかりづらいですが、ノイズが減っています。

上が「ライトツリーなし」、下が「ライトツリーあり」

 よくわからない? ではそれぞれ同じ部分を抜粋して比較してみましょう。単にパターンが変わっているだけにも見えますが、特に窓からの光が明るくあたっているあたりに隙間がある程度空いていることがわかります。

左が「ライトツリーなし」、右が「ライトツリーあり」

間接照明が10.0での比較

 次は上記のように、[間接照明]をデフォルト値の「10.0」にして比較してみます。

 左が従来のライトツリーが「なし」、右がライトツリー「あり」の画像です。ほぼ同じように見えますが、明らかに違いのあるところがあります。

[間接照明]でノイズを減らした場合。上が「ライトツリーなし」、下が「ライトツリーあり」

 わかりましたか? それは「ろうそく」です。前述のデフォルト値「0.0」の時には両方とも同じ程度に明るかったのですが、この画像では違いがあります。なぜでしょうか?

左の「ライトツリーなし」ではろうそくが暗く、右の「ライトツリーあり」では明るい

 マニュアルによると、「ライトツリー」はいくつかのライティングプロパティ(カスタムの減衰やレイの視認性など)を考慮しないとあり、特にこのような「制限」のプロパティを使用する場合ではレンダリング結果が変わることがあるようです。

使用上の注意

 ライトツリーは物理的に正しい状況で威力を発揮するとされています。上記のような[ライトパス]のオプションでレンダリングの調整を行っていた場合、レンダリング結果が変わるなどの問題が発生することがあります。

 逆に、画像が暗くなる場合もあります。例えば、この例のように「放射」マテリアルを使用した「メッシュオブジェクト」による光源では、放射する面を[シェーダーエディター]の[サイドバー]、または[マテリアル]プロパティ内の[設定]-[サーフェス]-[放射サンプリング]で調整できますが、ここが間違った設定になっていると、暗くなってしまうのです。

 通常はデフォルトの「自動」でOKですが、頭の片隅で覚えておくと役に立つこともあるかもしれません。

[シェーダーエディター]の[サイドバー]または[マテリアル]プロパティ内の[設定]-[サーフェス]-[放射サンプリング]設定

 他にも公式デモの「Classroom」のように、複雑なマテリアルやトリックを使用したシーンでは、ノイズが増える問題があります。

終わりに

 今回は「Blender 3.5」でCyclesレンダーに追加された「ライトツリー」機能をご紹介しました。基本的に光源が多くなるとノイズが増えて重くなる傾向がありますが、それを軽減してくれるのはありがたいです。

 ではまた。