Blender 5.0: Cycles

元記事:Cycles - Blender Developer Documentation

ボリューム

非バイアスサンプリング

null 散乱に基づく新しいボリュームレンダリングアルゴリズムが、デフォルトとして追加されました。これは非バイアス(unbiased)であり、ボリュームが重なる部分でのブロック状のアーティファクトが除去され、Step Size(ステップサイズ)や Max Steps(最大ステップ数)、Homogeneous(均質)ボリューム設定の必要がなくなります。(PR#134460PR#146317)

シーンによって、従来に対するパフォーマンスとノイズレベルは変わってきます。もしボリュームのレンダリングが従来に比べて遅く、見た目も違う場合は、大抵 Step Rate(ステップレート)が大きすぎ、その結果バイアスが強く働いているのが原因です。

非バイアスレンダリングでは、人の手による調整の必要がなく、濃淡の混ざったボリュームの処理を改善できますが、シンプルなシーンと細かく調整したボリュームシェーダーでは、バイアス付きレンダリングの方が速くなるでしょう。

さらにレンダリング品質を制御するのに、Render → Volume → Biased(レンダー→ボリューム→バイアス) オプションで、従来のバイアス付きレイマーチングアルゴリズムを有効化できます。これはまた、従来の Step Size(ステップサイズ)や Max Steps(最大ステップ数)も有効にします。

バイアス 非バイアス
バイアス 非バイアス

新しい非バイアスサンプリングが効果的なシーン。両画像とも30秒

グリッドと補間

  • 煙と炎シミュレーションが、NanoVDB でレンダリングされるようになりました。これは少しのパフォーマンス低下でメモリ消費量を抑えます。。(PR#132908)

  • Cubic(三次式)と Linear(リニア)補間が、可能な場合は確率的サンプリングを使用するようになり、パフォーマンスが改善しました。これは通常非常に少ないノイズが増える一方、パフォーマンスは Closest(近接)補間同様になります。レンダリング結果はボリュームシェーダーによって少し変わるかもしれません。(PR#132908
    PR#144451)

シェーディング

サブサーフェススキャッタリング

さらに正確なマルチバウンスのランダムウォークサブサーフェススキャッタリング。暗くなるアーティファクトが少しのレンダリング時間と引き換えに少なくなります。(PR#140665)

シングルバウンス マルチバウンス
シングルバウンス マルチバウンス

シーンは Metin Seven 氏作

金属の薄膜

Principled BSDF(プリンシプルBSDF)と Metallic BSDF(メタリックBSDF)が、物理ベースの誘電体薄膜による虹色エフェクトに対応しました。(PR#141131)

チタニウムの像 排気管の酸化層
チタニウムの像 排気管の酸化層

シーンは KickAir 8p 氏と geedoubleu 氏作、Polyhaven のアセット使用

サブディビジョンとディスプレイスメント

Adaptive Subdivision(適応サブディビジョン)が実験的機能から外れ、Subdivision Surface(サブディビジョンサーフェス)モディファイアーからいつでも利用可能になりました。(PR#146723)

  • 新しい適応サブディビジョンオブジェクト空間オプション。ピクセルサイズではなく、オブジェクト空間での Edge Length(辺の長さ)を指定できます。この機能は一度カメラサイズと独立してメッシュの細分化を行い、その後で何度もインスタンス化することで、オブジェクトのインスタンス化を省メモリで行うのに必要です。(PR#146723)

  • ディスプレイスメント使用時、Normal Map(ノーマルマップ)ノードが未ディスプレイスメントの法線とタンジェントを使用するように。これは EEVEE の挙動と一致しており、適合するノーマルマップとディスプレイスメントマップを使用する時の正しい挙動です。(PR#143109)

  • 未ディスプレイスメントの法線とタンジェントの属性が undisplaced_nundisplaced_tangent を通じて利用可能に。Ntangent 属性は常にディスプレイスメントを含むようになりました。(PR#143109)

カスタムカメラ

OSL カメラのパラメーターのユーザーインターフェイスが改善。(PR#146736)

下記のメタデータに対応しました。

  • Distance inputs (string unit = "m")
  • Translation inputs (string vecsemantics = "POINT")
  • Angle inputs (string unit = "radians")
  • Normal inputs (string vecsemantics = "NORMAL")
  • Time inputs (string unit = "s" or string unit = "sec")
  • File inputs (string widget = "filename")
  • Enum inputs (string widget = "mapper", string options = "left:0|right:1")
OSL カメラパラメーター

互換性のなくなる変更

もう aperture_position(絞り位置)がカメラの focal_length(焦点距離)に依存しなくなりました。(PR#147346)

これにより、Blender のカメラの焦点距離とは独立した、一貫性のある被写界深度が取得できるようになりました。しかし、これはシェーダー内部で絞り位置を OSL の焦点距離パラメーターで乗算する必要があることを意味します。

getattribute("cam:aperture_position", position);
position *= focal_length * 1e-3;

GPU

  • 対応する最小の compute capability が sm_50(~GeForce 900 カード)になりました。(PR#142212)

  • Windows での AMD HIP の最小要求 GPU ドライバーが Adrenalin version 24.9.1 または Radeon Pro driver 24.Q4 に引き上げられました。(PR#148305)

  • OptiX デノイザー結果の品質が、処理前に画像の上下を反転し、左上を原点にすることで改善されました。(PR#145358)

その他の機能

  • Linear 3D Curves(リニア3Dカーブ)を追加。この新しいオプションは、Render(レンダー)プロパティの Curves(カーブ)パネルにあります。ヘアーカーブをスムーズなカーブではなく、直線の節でレンダリングします。精度が低くなる代わりにレンダリング時間が高速になります。(PR#139735)

  • Render Time(レンダリング時間)パスを追加。これは各ピクセルのレンダリング時間を視覚化します。(PR#125933)

  • Portal Depth(ポータルの深度)ライトパス情報。(#143107)

  • オブジェクトにマテリアルが何も割り当てられていない時のデフォルトのマテリアルが Blender と EEVEE でマッチするよう、スペキュラー成分が追加されるように。(#142703)

  • Use Tiling(タイルを使用)オプションを削除。現在これは常に有効になっていることを前提にしています。タイルのサイズを大きくしてタイリングを無効化することもできます。(PR#146031)

Combined(統合)パス Render Time(レンダリング時間)パス
Combined(統合)パス Render Time(レンダリング時間)パス

画像とそのレンダリング時間パス。シーンは geedoubleu 氏作


Blender Foundation の文書を翻訳、ライセンスは CC-BY-SA 4.0 Int にて公開