ボリューム レンダリング

2024.2 ではボリューム レンダリングが追加され、フォグ、ダスト、薄明光線、雲、煙、火などの複雑なフェノメナに命を吹き込み、驚くほど視覚的にリアルなエフェクトを実現できるようになりました。この機能を使用すると、3D モデルを環境に適切に統合できるため、より現実的なシナリオを作成して、設計の感情的な影響度を高めることができます。

ビデオ キャプション: ボリュームを使用できるようになりました。つまり、OpenGL でボリューム エフェクトを追加してレイトレーシングすることで、シーンの表示品質を改善できるようになりました。

たとえば、シーンに雲を追加することができます。この雲は、3D ボリュームのようにリアルに見え、2D エフェクトだけの場合と比べて、シーンとの相互作用が非常に自然に行われます。

また、この霧のシーンのように、パーティクルが空中に浮いているときに最適な散乱ボリュームを簡単に作成することもできます。

あるいは、このスタジオのように、円錐形のライトを表示できるライト エフェクトを作成できます。ボリュームはライトに大きく依存するため、ライトがボリュームに与える影響を示す新しい設定を実装しました。

ボリュームの外観を変更するには、割り当てられたボリューム マテリアルの設定を変更する必要があります。これはカラーや密度と同様です。

最初に VDB ボリュームを操作する際に、インターネットから無料のサンプルをダウンロードしたり、Maya、Houdini、EmberGen などのソフトウェアを使用してエフェクトを作成することができます。シーン内のクラウドとともに使用するジェット ストリームも、ここで同様な方法で作成しています。

でも、これだけではありません。シーケンス全体を読み込み、アニメートされたボリューム エフェクトを使用して、シーンのさまざまな要素に命を吹き込んだり、感情を与えたりすることもできます。

VRED は、ボリューム レンダリングを使用して、ライトとボリュームの相互作用をシミュレートします。光線がボリュームを通過する様子を正確に計算することにより、実世界の環境における光の動作を模倣した驚異的な視覚効果を生成することができます。

VRED でボリュームレンダリングを作成するには、まずボリューム データを定義します。この作業を行うには、外部 OpenVDB グリッドおよび NanoVDB グリッドを読み込んで動的にストリーミングするか(「 ボリュームを作成する 」を参照)、VRED で最初からボリュームを作成します。ボクセルは、ライトとボリュームのインタラクションを決定する密度、カラー、不透明度などのプロパティに関する情報を格納するために使用されます。

ボリューム データが設定されると、VRED はボリューム レイトレーシングを使用してボリュームを通過する光線のパスを追跡し、媒体内のライトの吸収、散乱、放射などの要因を考慮します。これにより、VRED はボリューム データと相互作用する光の動作を正確にシミュレートします。

その結果、視覚的に説得力のあるレンダリングが行われ、ボリューム オブジェクトの複雑なディテールとリアリスティックなライティング効果が表現されます。雲を通って届く太陽光の柔らかな輝きでも、煙のダイナミックな動きでも、VRED のボリューム レンダリング機能を使用すると、魅力的でリアルなビジュアライゼーションを作成できます。

ボリュームは、OpenGL、CPU レイトレーシング、および GPU レイトレーシングでサポートされています。Autodesk VRED でボリューム レンダリングを活用することで、設計プレゼンテーション、仮想プロトタイプ、またはビジュアル エフェクトの機能が強化され、リアルで臨場感あふれるエクスペリエンスが実現します。

注:

2024.2 では、CPU レイトレーシング時にフォトン トレーシング モードでボリューム放出を行っても、機能しません。

この機能を使用すると、3D モデルを環境に適切に統合できるため、より現実的なシナリオを作成して、設計の感情的な影響度を高めることができます。

シーングラフ内のボリューム

散乱ボリュームを作成する

シーングラフで[作成] > [ボリューム]を選択すると、選択に応じて、ボリューム散乱が作成されるか、OpenVDB または NanoVDB がロードされます。いずれの場合も、OpenGL でのボリューム レンダリングに深度ピーリングの透明度が必要であることを示す警告が表示されます。[有効]をクリックすると、この操作が実行されます。

  • ボリューム散乱: ボリューム散乱ノード(ボリューム散乱ノード アイコン)をシーングラフに追加すると、ビューポートに次のように表示されます。

    ビューポート内の既定のボリューム散乱のイメージ

ボリューム散乱は、ボリューム内のライトの散乱をシミュレートします。フォグ、煙、ダストなど、同種の大気および異種(ノイズ)の大気のエフェクトを作成する場合に使用します。ボリューム オブジェクト(VDB)に適用すると、ボリューム散乱アトリビュートはライトとボリュームの相互作用をコントロールし、外観と可視性に影響を与えて、ライトのビームや薄片レイ(薄明光線)のリアルなビジュアルを作成します。これらのアトリビュートを調整して、ボリューム内で散乱される光の密度、カラー、および強度をコントロールします。フォグの厚さや不透明度をコントロールしたり、シーンに霞がかかった大気を追加する場合に使用します。

  • OpenVDB: 指定した VDB または NVDB ファイルを VRED に読み込み、動的にストリーミングできるようにします。ボリューム散乱ノード(ボリューム散乱ノード アイコン)をシーングラフに追加すると、ビューポートに次のように表示されます。

    ビューポート内の既定の VDB のイメージ

    VDB は「Volume DataBase」または「Voxel DataBase」の略で、ボリューム データを表すために使用されます。VRED は VDB を使用して、煙、火、雲、その他の複雑な 3D 構造などのボリューム データを表現します。密度、温度、速度などのアトリビュートを保存し、ボリューム データを操作する柔軟で効率的な方法が用意されているため、リアリスティックで視覚的に魅力のあるエフェクトを作成できます。マテリアル エディタを使用してカスタマイズします。

マテリアル エディタ内のボリューム

マテリアル エディタで、[作成] > [マテリアルを作成] > [ボリューム散乱]または[OpenVDB]を選択すると、ボリューム ノードにのみ適用できるマテリアルが作成またはロードされます。ボリューム散乱マテリアルは、均質または不均質な(手続き型ノイズを使用する)基本的ボリューム エフェクトを定義するために使用できます。OpenVDB マテリアルは VDB グリッドをロードします。VDB グリッドでは、煙、雲、その他のボリューム エフェクトなど、より詳細なボリューム データのシェーディングとレンダリングを行うことができます。密度、散乱、吸収、および放射のプロパティは、カスタマイズ可能です。詳細については、「ボリューム マテリアル」セクションを参照してください。

マテリアル エディタで[シーケンスを使用]が有効になっている場合、OpenVDB シーケンスに対してアニメーション カーブが自動的に生成されます。詳細については、「 ボリューム マテリアルをアニメートする 」を参照してください。

ライト エディタ内のボリューム

ボリュームは、光源に依存して相互作用します。レイ ライトを除くすべてのライト タイプに互換性があります。エリア ライトを使用し、HDR 環境に対してサンプリングを行っている場合(既定で有効)、良好な結果が得られます。ただし、ディレクショナル ライト、ポイント ライト、スポット ライト、または球状ライトを使用する場合と比較して、計算量やノイズが多くなります。ボリュームはテクスチャ エリア ライトをサポートします。

芸術面やパフォーマンス面を考慮に入れるために、[ボリュームを照らす]オプションを導入しました。このオプションは、すべてのライト タイプで使用できます。光源がシーン内のボリューム オブジェクトに影響を与えるかどうかをコントロールします。これにより、ライティング効果の柔軟性が高まり、より詳細にコントロールできるようになります。

ライト エディタの[プロパティ]セクションにある[ボリュームを照らす]オプションを見つけます。このオプションを使用して、光源がシーン内のボリューム オブジェクトに影響を与えるかどうかを決定します。次のオプションから選択します。

  • [オン]: フォグ、煙、その他のボリューム マテリアルなど、ボリューム エフェクトのライティングとシェーディングに影響を与えます。

  • [オフ]: ライト レイとボリューム データの相互作用をオフにして、ボリュームにシャドウ、ハイライト、または全体的なライティングの影響が及ばないようにします。このオプションは、ボリューム エフェクトのライティングを分離する場合や、特定の光源がシーン内のボリューム マテリアルに影響を与えないようにする場合に便利です。

  • [ボリュームのみ]: ライトのイルミネーションがシーン内のボリューム オブジェクトにのみ影響を与えて、フォグ、煙、またはその他のボリューム マテリアルなど、ボリューム エフェクトのライティングとシェーディングにのみ作用するように制限します。ライトのレイは、シーン内の他のオブジェクトを無視します。このオプションを使用すると、ボリューム エフェクトのライティングを正確にコントロールできるため、光源が目的のボリューム マテリアルにのみ影響を与える一方で、他のジオメトリは無視するようにできます。これは、ボリューム エフェクトのライティングを分離して、シーン内の他のオブジェクトに意図しない影響が及ばないようにする場合に便利です。

[レンダリング設定]のボリューム

品質とパフォーマンスのバランスを取るために、ボリューム マテリアルごとにステップ サイズを個別にカスタマイズできます。これにより、2 つの要素の間のトレードオフを微調整して、最適なトレードオフを見つけることができます。ステップ サイズは、各ボリュームのトラバース距離を決定します。この結果から、ボリュームを通過するステップ数が計算されます。ほとんどの場合は、1 ~ 100 の値で十分です。ボリュームをトラバースするのに必要なステップの合計数が、[レンダリング設定] > [レイトレーシング] > [ボリューム品質]で設定できる[最大ステップ数]を超える場合は、ステップ サイズが適宜に調整されます。[最大ステップ数]の値を大きくすると品質は向上しますが、パフォーマンスは低下し、ドライバがクラッシュすることもあります。

レンダーパスのサポート対象ボリュームは、レイトレーシングで別のパスにレンダリングすることもできます。「ボリューム カラー」という名前の新しいエントリが、[レンダリング設定] > [レンダーパス]ダイアログボックスに追加されました。また、3D ビューポートでボリューム チャネルを表示できるようになりました。ビューポートでこの機能を利用するには、CPU または GPU レイトレーシングをアクティブにし、[可視化]メニュー> [レンダーパス レンダリング] > [結合されたチャネル]/[マテリアル チャネル] > [ボリューム カラー]で対応するチャネルを有効にしてください。

ボリュームを操作する

ボリューム ノード(ボリューム散乱と OpenVDB)、およびボリューム マテリアルをトランスフォームできます。以下を参照してください。