ボリュームレンダリングとは?雲から爆発まで、ボリュームシェーダーを解説 image

ボリュームレンダリングとは?雲から爆発まで、ボリュームシェーダーを解説

著者:Arndt von Koenigsmarck · テクニカルレビュー:Sergen Eren · 最終レビュー:2026年8月


コンピューターグラフィックスにおけるほとんどのオブジェクトは、中身のない殻のようなものです。レンダリングされた車やキャラクター、さらには山でさえ、通常は何もない空間を薄いサーフェスで覆ったものにすぎません。固体の場合、カメラから見えるのは表面だけだからです。しかし自然界には、そもそも固体ではないものが数多く存在します。雲、霧、煙、炎、光の筋の中を漂う塵などは、その内部や向こう側を見ることができ、内部のあらゆる場所で光が異なる振る舞いをします。

こうした現象をレンダリングするための技術が「ボリュームレンダリング」であり、その見え方を定義するツールが「ボリュームシェーダー」です。この記事では、その両方について、まず基本的な考え方と物理的な仕組みを説明し、その後、MaxonのGPUアクセラレーション対応レンダリングエンジン「Redshift」での具体的な使い方を紹介します。


ボリュームレンダリングとは、サーフェスではなく、3次元のデータグリッドから画像を計算する手法です。通常の3Dモデルが外殻を表すポリゴンによって定義されるのに対し、ボリュームは「ボクセル」と呼ばれる小さなセルによって定義されます。ボクセルは空間内の領域を満たし、それぞれに密度や温度などの値が格納されています。レンダラーは、光がこれらすべてのセルを通過するときに何が起こるかを計算します。そのため、1つのボリュームの中で、外縁部は薄く、中心部は密度が高く、さらに内部が発光しているといった表現を同時に実現できます。

サーフェスレンダリングと比較すると、その違いを簡単に理解できます。光線がポリゴンサーフェスに当たる場合、レンダラーはその1点でマテリアルを評価すれば計算は完了します。一方、光線がボリューム内部に入る場合、評価すべき単一の点はありません。光線は内部を進み続け、その経路のあらゆる場所で光が吸収されたり、散乱したり、新たな光が加わったりします。ピクセルが2D画像を構成する色付きの四角形だとすれば、ボクセルはその3D版であり、空間グリッド内に値を持つセルです。この1つ次元が増えることこそが、ボリュームレンダリングの本質です。そして、それが優れた表現を可能にする理由であると同時に、多くの計算コストを必要とする理由でもあります。

ここでは、タービュランスによって渦巻く煙のシミュレーションを作成しています。左上では、生成された雲の表面を通常のポリゴンで可視化しています。一方、右上ではボリュームシェーダーを使用してレンダリングしています。これにより、煙のリアルな逆光表現や、細かく変化する透明度、ボリューム内部での光の散乱などを表現できます。

ここでは、上で全体を表示したシミュレーションにカメラを近づけ、計算方法の違いを模式的に示しています。緑色のグリッドは、最終レンダリングを構成するピクセルを行と列で表したものです。緑色で塗りつぶされたピクセルが現在計算されているピクセルで、カメラからシーンの3D空間を貫く計算用のレイ(矢印)が照射されています。単純なポリゴンモデルの場合(画像左)、レイがサーフェスに当たると、その位置ですべての必要な情報を取得できます(赤いマーカーを参照)。一方、ボリュームの場合、このような1点だけの情報では不十分です。煙をリアルにレンダリングするためには、計算用のレイがボリューム内部の多数の位置から、密度や光の散乱などの情報を取得する必要があります。

ボリュームシェーダーは、空間を占めるもののためのマテリアルです。サーフェスを定義するのではなく、ボリューム内部の各ポイントに存在する媒質が光とどのように相互作用するかをレンダリングエンジンに伝えます。ほぼすべての最新レンダリングエンジンでは、これを同じ3つの要素から構成しています。Redshiftのドキュメントでは、それぞれをサーフェスマテリアルにたとえて分かりやすく説明しています。

  • スキャッタリングは、ボリュームにおけるディフューズカラーに相当します。媒質内部の微細な粒子によって、どの程度の光が、どの色で散乱するかを定義します。これによって、雲は白く、煙はグレーに見えます。

  • 吸収は、透明度に相当します。媒質がどの程度の光を吸収するかを定義し、厚い煙を暗く見せたり、密度の高いボリュームを不透明に見せたりします。

  • 発光は、白熱や自己発光に相当します。媒質そのものから光を放出できるため、炎や爆発を内部から発光させることができます。

映画で目にする雲、霧、火球などは、基本的にこの3つの性質を組み合わせたものであり、多くの場合、シミュレーションから得られたデータによって制御されています。Redshiftでは、この役割を標準ボリュームシェーダーが担います。これは、雲、煙、炎、爆発などを表現するための物理ベースのボリュームマテリアルです。検索エンジンからこの記事にたどり着いた方のために、1点だけ補足しておきましょう。「Volume Shader BM」という有名なGPUストレステストもありますが、これは同じ用語を使用しているだけで、マテリアルではなくベンチマークです。この記事で扱うのは、本来の意味でのボリュームシェーダーです。

物理学では、霧、煙、雲などを「Participating Media(関与媒質)」と呼びます。光がサーフェスに当たるまで何も起こらないのではなく、空間そのものがライティングに影響するからです。光線がこのような媒質を進むときには、4つの現象が起こります。光が吸収されて熱に変わることがあります。光が進行方向の外へ散乱して暗くなることがあります。別の方向から光が散乱して進行方向に入ってきて明るくなることがあります。そして、媒質そのものが新しい光を放出することもあります。吸収と、光が進行方向の外へ散乱することによる減衰を合わせた効果を「Extinction(消散)」と呼び、一定距離を進んだ後に残っている光の割合を「Transmittance(透過率)」と呼びます。ボリュームシェーダーの各パラメータは、本質的には、こうした物理量をアーティストが扱いやすい形でコントロールできるようにしたものです。

もう1つ重要なのが「Phase Function(位相関数)」です。これは、サーフェスマテリアルが反射光をどのような方向に分布させるかという性質に相当する、ボリューム版の考え方です。光が散乱した後、どの方向へ進むのかを決定します。煙の粒子は、おおむねすべての方向に均等に光を散乱します。これを「Isotropic Scattering(等方散乱)」と呼びます。一方、雲を構成する水滴は、光を元の進行方向に向かって強く散乱します。この「Forward Scattering(前方散乱)」によって、太陽との間にある雲の縁が明るく輝いたり、逆光の霧が発光しているように見えたりします。レンダリングエンジンでは、1941年の天体物理学の論文にまでさかのぼる古典的なHenyey-Greenstein位相関数を使って、この現象をモデル化します。1つの異方性値を使用し、-1がBack Scattering(後方散乱)、0が等方散乱、+1が前方散乱を表します。特に雲については、Redshiftでは、より新しいJendersie-d’Eonモデルも利用できます。これは、水滴による実際のMie散乱を近似したもので、Henyey-Greensteinよりもリアルな前方散乱のピークを表現できます。

これらのレンダリングでは、すべて同じ雲を使用し、太陽光で背後から照らしています。変更しているのは、ボリュームマテリアルのAnisotropy設定だけです。左から順に、-0.9、0、0.85を使用しています。右のレンダリングでは異方性に正の値を設定しているため、光線が雲のボリュームの奥側に向かってより強く屈折し、密度の低い雲の縁から、より多くの太陽光が見えることがはっきり分かります。

内部の仕組みをもう少し詳しく知りたい方のために、Redshiftの開発者が標準ボリュームシェーダーをどのように説明しているか見てみましょう。内部的には、RedshiftのOpenPBRおよび標準サーフェイスマテリアルに搭載されているランダムウォーク・サブサーフェイス・スキャッタリングと非常に近い仕組みになっています。サブサーフェイス・スキャッタリングは、皮膚やワックスのような有限で均一な媒質内部を光が移動する様子をシミュレーションします。一方、Standard Volumeシェーダーは、各ボクセルで密度が異なる不均一な媒質に、同じ考え方を適用します。両者のパラメータはほぼ1対1で対応しています。サブサーフェイス・カラーはボリュームのスキャッターカラー、サブサーフェイス半径は透過カラー、サブサーフェイス・スケールはボリュームのデプスコントロールに相当します(次の図を参照)。

この図では、サブサーフェススキャタリング(左)とボリュームレンダリング(右)を比較しています。サブサーフェススキャタリングが、ワックス、皮膚、牛乳、大理石など、ポリゴンサーフェスで囲まれたボリューム内部での光の散乱をシミュレーションするのに対し、ボリュームシェーダーは、炎、霧、煙、雲など、ポリゴンによって定義されていない空間内部の密度や、温度による発光などの性質をシミュレーションします。

レンダリング時、Redshiftはボリューム内部をレイマーチングし、レイが媒質を通過する間、ボクセルごとにサンプリングを行います。サンプリングされる密度グリッドは、空間が空なのか、それとも各ボクセルにどれだけの粒子が存在するのかを表す単純なスカラー値であり、色情報とは独立しています。Scatter Colorは、浮遊している粒子のアルベド、つまり粒子が反射する光の色を表します。異方性コントロールは、散乱した光を前方、後方、または全方向に均等に分散させます。デフォルトではHenyey-Greensteinを使用し、雲のような水を含む媒質ではJendersie-d’Eonを使用できます。

透過カラーは特に興味深い要素です。これは「Mean Free Path(平均自由行程)」、つまり各波長の光が媒質内部で消散するまでに進む平均距離を、アーティストが扱いやすい形で表したものです。赤、緑、青の各値は、それぞれの波長が進む距離を表し、Depthパラメータによって0~1の値が実際の距離へ変換されます。この距離はセンチメートル単位で計算され、シーンスケールも考慮されます。波長によって吸収される割合が異なるため、光がこのような媒質の中を十分な距離進むと、他の波長が吸収され、最終的には透過カラーとは反対の色に着色されます。これは深い水が青く見える物理的な仕組みそのものであり、わずかな透過の色付けだけでも、単一のスキャッターでは表現できない自然で有機的な奥行きをボリュームに与えられる理由です。

ボクセル内部をレイマーチングすることで、レンダラーがボリュームをどのように読み取るのかは説明できます。しかし、本当に計算コストがかかるのは、その内部で光が何度方向を変えるかという点です。エンジンがシングルスキャッタリングと呼ばれる1回のバウンスだけをシミュレーションする場合、薄い霞のような媒質であれば問題なく見えます。しかし、密度の高い雲は暗く、生気のない見た目になります。実際の雲が明るく見えるのは、光子が雲から外へ出るまでに内部で数十回、あるいは数百回も反射するためです。厚い積雲では、当たった光の最大90%を反射します。

このマルチスキャッタリングをシミュレーションするには、それぞれのレイについて多数の追加バウンスを追跡する必要があり、バウンスが増えるたびに計算量も増加します。これが、ボリュームレンダリングは遅いと言われる本当の理由です。そして、パート2で説明するGPUレンダリングや効率的な近似手法が大きな効果を発揮する部分でもあります。最新のレンダリングエンジンでは、デノイズによってさらに計算コストを抑えています。しかし、ボリュームはサーフェスよりもデノイズが難しいことで知られています。ノイズ除去が処理の判断材料として利用するサーフェス法線などの補助データが、雲の内部には存在しないためです。

この一連の画像では、円筒形のライトを内部に配置した雲をレンダリングし、ボリュームトレースデプス設定の違いによる効果を比較しています。左から順にボリュームトレースデプスを1、5、31に設定しています。ボリューム内部で散乱した光の強度を確認できるようにするには、ボリュームシェーダーのスキャッタリング強度を十分に高く設定する必要がある点に注意してください。

ボリュームデータをシミュレーションするソフトウェアからレンダリングエンジンへ受け渡すには、共通の形式が必要です。この問題について業界では以前からOpenVDBが標準として定着しています。OpenVDBはDreamWorks Animationで開発され、2012年にオープンソース化されました。その技術的成果はアカデミー賞でも表彰され、現在はAcademy Software Foundationのもとで管理されています。現在、OpenVDBはボリュームデータを保存する事実上の業界標準となっています。Redshiftのドキュメントには、これを非常に分かりやすく表した一文があります。
「OpenVDBファイルとボリュームレンダリングの関係は、EXRファイルとHDR画像の関係と同じです」。EXRがピクセルを保存するのに対し、VDBはボクセルを保存します。さらにデータをスパース(疎)形式で保存するため、薄い煙の周囲に広がる何もない空間は、ディスク容量やメモリをほとんど消費しません。

VDBファイル内部では、ボクセルデータは名前の付いたグリッドとして整理されています。Redshiftでは、シェーディングのコンテキストにおいてこれをChannelと呼びます。名称は規則ではなく慣例ですが、一般的には、各ボクセルにどれだけの粒子が存在し、ボリュームがどこに存在するかを示す単位のない値である「密度」、炎の発光に使用する熱を表す「温度」、モーションブラーに使用する「速度」、そしてあらかじめ色付けされたボリュームで使用されることがある「カラー」グリッドなどがあります。Redshiftではチャンネル名の大文字と小文字が区別されるため、これが原因で戸惑った経験のあるアーティストも少なくありません。
では、VDBファイルはどこから入手できるのでしょうか?Houdini、リアルタイム流体シミュレーターのEmberGen、Cinema 4Dに搭載されているPyroシステムなどのシミュレーションツールから書き出すことができます。また、練習用として利用できる優れた無料データもあり、有名なWalt Disney Animation Studiosのクラウドデータセットや、JangaFXが提供する無料VDBパックなどがあります。


Redshiftでは、ボリュームレンダリングに使用するツールがいくつかに分かれています。どのツールを使用すべきかを理解することが、ワークフローを把握するうえで重要です。雲、煙、炎、爆発など、密度が場所によって変化する「Heterogeneous Volume(不均一ボリューム)」は、Redshift ボリュームオブジェクトを使用して読み込みます。VDBファイルまたはアニメーションされたVDBシーケンスを読み込み、ビューポート上ではバウンディングボックスまたはポイントクラウドのプレビューとして表示できます。そして、そのボリュームの見た目を標準ボリュームマテリアルで定義します。

一方、大気中の霞や霧などの均一な媒質である「Homogeneous Volume(均一ボリューム)」では、ボクセルデータそのものが必要ありません。Redshift 環境オブジェクトを使用することで、シーン全体、または高さを制限したレイヤーに散乱媒質を設定できます。これはボリューメトリックライティングにも使用するツールで、埃っぽい空気の中に光の筋が見える、いわゆる「光芒」を表現できます。
さらに、専用の雲オブジェクトを使用すれば、プロシージャルな空全体を生成できます。高速モードでは雲の層を効率的な背景としてレンダリングでき、完全なボリュームモードでは、高層ビルや航空機が雲の層を突き抜けたり、雲からの光の影響を受けたりする表現も可能です。

これは、外部から照らされたガラス窓の例です。周囲の大気をシミュレーションしていない場合、窓と床の間を通る光線は見えません。Redshift Environmentオブジェクトを使用すると、霧や、高湿度、空気中の塵などによって生じる目に見える大気をシミュレーションできます。その結果、オブジェクトとオブジェクトの間を通る光線も見えるようになります。

実用上の重要な制約として、ボリューム全体がGPUメモリに収まる必要があります。ボリュームは、RedshiftのOut-of-Coreシステムの対象外となる唯一のアセットタイプです。そのため、巨大なVDBが使用可能なVRAM容量を超えた場合、レンダリングが遅くなるのではなく、中止されます。シミュレーションの解像度をショットに必要なレベルに抑えることは、単なるレンダリング速度の問題ではなく、メモリ容量を管理するうえでも重要です。

標準ボリュームマテリアルには2つの使い方があります。単体で使用し、チャンネルフィールドにグリッド名を入力した場合は、専用に最適化された高速処理が使用され、雲、煙、炎向けに調整されたプリセットを備える、従来型の扱いやすいボリュームシェーダーとして機能します。一方、入力ノードを接続すると完全にプログラム可能になり、プロシージャルノイズによって密度、色、温度を制御したり、グリッドをリマップしたり、さらにボクセルをディスプレイスしてディテールを追加したりできます。
初めて使用する場合は、標準搭載されているフィールドだけで十分です。主に次の4つの設定グループを使用します。

  • ボリュームチャンネルと密度:チャンネルフィールドには、ボリュームの形状を定義するVDBグリッド名を指定します。ほとんどの場合は「密度」です。密度パラメータはこの値に乗算され、媒質全体の濃さや薄さを決定します。グリッド名は正確に入力してください。チャンネル名では大文字と小文字が区別されます。

  • スキャッター:カラーとスケールによって、ボリュームがどのような色の光を、どの程度の明るさで反射するかを設定します。異方性モードでは位相関数を選択します。-1~+1のスライダーを持つHenyey-Greensteinは汎用性が高く、等方的な煙に適しています。一方、Jendersie-d’Eonは雲に特化しており、水滴を通過する光をモデル化します。

  • 透過:透過カラーとデプスは、パート1で説明した波長ごとの光の移動距離を設定します。暗いほど密度が高く、明るいほど薄くなります。また、色を設定すると、影を含め、ボリュームの奥ではその反対色に着色されます。ここではわずかな彩度でも大きな効果があります。デプスはセンチメートル単位であるため、ボリュームの実際のサイズに合わせて設定してください。

  • 発光:炎や爆発の場合は、発光チャンネルに温度グリッドを指定して黒体モードを選択します。これにより温度がケルビン単位の物理的に正しい色と強度へ変換され、約3,000Kの深い赤から、9,000Kを超える白や青白い色まで表現できます。もう1つのColorモードでは、代わりにグラデーションを使用できます。黒から赤、黄色へ変化する一般的な炎のグラデーションなどを設定でき、意図的に物理法則から離れた、アートディレクションに沿った炎を作成できます。

燃えるトーチをレンダリングした例で、炎と煙を異なる温度で表現しています(左から0、3,000、6,000、9,000、12,000ケルビン)。この調整は、シーンを再シミュレーションすることなく、後からRedshift Standard Volumeマテリアルを使って行うことができます。
シミュレーションされた温度に基づく物理的に正確な色や明るさの分布を使用する代わりに、ボリュームマテリアル内で独自のカラーグラデーションや一般的なカラー調整を使用し、煙や炎のレンダリングを目的に合わせてカスタマイズすることもできます。

パート1では、密度の高いボリュームをリアルに見せるためにはマルチスキャッタリングが不可欠であることを説明しました。Redshiftでは、これを「ボリュームトレースデプス」というレンダリング設定で制御できます。また、覚えておきたい重要な点として、ボリュームのマルチスキャッタリングはブルートフォース・グローバルイルミネーションと組み合わせて使用します。ボリュームトレースデプスをデフォルト値から上げることで、グレーの塊のようだった雲を、明るくリアルな雲へと変化させることができます。ただし、レンダリングコストは指数関数的に増加します。
前方散乱する雲はデプスを増やすことで非常に大きな効果が得られます。一方、等方散乱する煙では比較的早い段階で効果が頭打ちになります。発光する炎では、炎の光が周囲の煙を照らすことで、美しい内部からの光の広がりを表現できます。
Redshiftには、経験豊富なアーティストがトレースデプスを大幅に増やす前に利用する3つの効率的な方法も用意されています。1つ目は消散減衰です。これは、実際のバウンスが増えるごとに消散を少しずつ弱めることで、数百回の追加バウンスに近い効果を近似します。デフォルト値の0.2は意図的にバランスの取れた値として設定されており、ドキュメントの雲を使ったテストでも、この機能を使用しない同じシーンより高速にレンダリングしながら、より明るくリアルな結果を得られています。

2つ目は、その組み合わせとして自然な異方性減衰です。バウンスするたびに異方性を少しずつ下げ、より深く進んだレイを徐々に等方散乱に近づけます。これは、放射伝達理論における古典的な知見である「van de Hulstの相似原理」を再現するものです。高度な多重散乱が発生する媒質では、散乱アルベドと異方性の組み合わせが異なっていても、全体的な光の伝達特性が同じであれば、ほぼ区別できない外観になるという考え方です。
異方散乱の計算には大きなコストがかかるため、バウンスを重ねるにつれてこれを緩和することで、高次の散乱をシミュレーションしながらボリュームのレンダリングコストも削減できます。3つ目はシャドウ密度スケールです。これは、ボリュームのシルエットを変えずに光をより深くまで透過させ、多重散乱による明るさの増加をはるかに低いコストで疑似的に再現する、昔ながらのテクニックです。バランスの良いボリュームを作るには、トレースデプスだけを力任せに上げるのではなく、中程度のトレースデプスとこれらの補助機能を組み合わせるのが一般的です。

Cinema 4Dを使用している場合、ボリュームデータを作成するために外部ソフトウェアを用意する必要はありません。搭載されているパイロシステムを使用して、煙、炎、爆発をCinema 4D内で直接シミュレーションできます。ワークフローも非常にシンプルです。
パイロエミッタータグを設定したオブジェクトからシミュレーションが生成され、パイロ出力オブジェクトによって通常は密度、温度、速度などのチャンネルが収集されます(パイロシミュレーションの概要については、Cinema 4Dのドキュメントを参照してください)。
そのまま直接レンダリングすることもできますが、シミュレーションをVDBシーケンスとしてキャッシュし、Redshift ボリュームオブジェクトを使って再度読み込むこともできます。プロダクション用途では、メモリ効率の良い方法としてドキュメントでもこちらの方法を推奨しています。

シェーディングの設定はほぼ自動です。Redshift 標準モジュールシェーダーに付属するパイロボリュームプリセットでは、密度グリッドがスキャッタリングに、温度グリッドが黒体発光にあらかじめ接続されています。この2つの接続によって、シミュレーションの生データをレンダリングされた煙と炎へ変換できます。アーティストが忘れやすいのがモーションブラーの設定です。
VDBシーケンスは静止したスナップショットを連続させたものなので、Redshiftは速度グリッドから動きを読み取ります。ボリュームオブジェクトの速度フィールドに「velocity」と入力し、シミュレーションの動きに合ったブラーになるまでボリュームスケールを上げてください。大きな値を設定することをためらう必要はありません。1,000を大幅に超える値も珍しくありません。

画像左側は、ボリュームシミュレーションを作成または読み込む最初のステップを示しています。この例では、Cinema 4DのPyroシミュレーションを使用して爆発による煙を生成し、そのアニメーションをVDBシーケンスとして保存しています。これにより、いつでも他のプロジェクトでシミュレーションを再利用できるだけでなく、レンダリング時のメモリ効率も向上します。
右側の画像では、その後のステップを示しています。ボリュームシェーダーを設定して色と発光を制御し、シミュレーションにライティングを行い、カラーを補正し、グローやモーションブラーなどの視覚効果を追加します。これらはすべてCinema 4DとRedshift内で直接行うことも、ポストプロダクションで処理することもできます。どちらを選ぶかは、目的とするパイプラインや、他のレンダリング結果または実写映像との合成が必要かどうかなどによって異なります。

  • ボリュームが黒くなる、または表示されない:チャンネルフィールドにグリッド名が正確なスペルと大文字・小文字で入力されていることを確認し、少なくとも1つのライトでボリューム・コントリビューションが0より大きく設定されていることを確認してください。

  • ボリュームにノイズや粒状感がある:まずライトのサンプル数を増やしてください。ボリュームのノイズは主にライトによって発生します。散乱の多い媒質では、吸収の多い媒質より多くのサンプルが必要です。

  • ボリュームがブロック状に見える:シミュレーションの解像度が低すぎます。シェーダーによるリマッピングである程度滑らかにできますが、根本的に解決するには、より高解像度のキャッシュが必要です。

  • VRAM不足のエラーでレンダリングが中止される:VDBがGPUメモリに収まっていません。シミュレーションの解像度を下げる、キャッシュから使用していないグリッドを削除する、またはエフェクトを分割してください。

  • 雲が平坦でグレーに見える:ブルートフォースGIを使用してボリュームトレースデプスを上げ、消滅減衰はデフォルトの0.2を維持します。デプスをさらに上げる前に、シャドウ密度スケールを少し下げてみてください。

  • 霧によって画面全体が白っぽくなる:環境オブジェクトのスキャッタリング値を大幅に下げてください。非常に小さな値でも大きな効果があります。

ボリュームシェーダーとは、簡単に言うと何ですか?

ボリュームシェーダーとは、煙、霧、雲、炎など、空間を満たす媒質のためのマテリアルです。サーフェスに色を付けるのではなく、ボリューム内部の各ポイントで光をどのように吸収、散乱、発光するかをレンダラーに伝えます。通常は、ボクセルグリッドに保存されたシミュレーションデータによって制御されます。

ボリュームレンダリングとサーフェスレンダリングの違いは何ですか?

サーフェスレンダリングでは、レイがポリゴンの表面に当たった1点でマテリアルを評価します。ボリュームレンダリングでは、3Dのボクセルグリッド内部をレイが進み、その経路全体で発生する光の相互作用を積算します。そのため、サーフェスでは再現できない半透明の媒質や、内部から照らされた表現が可能になります。

VDBファイルとは何ですか?

VDBはボリュームデータの業界標準ファイルフォーマットで、DreamWorks Animationで開発されたオープンソースライブラリOpenVDBをベースにしています。density、temperature、velocityなどの名前が付いたスパースボクセルグリッドを保存でき、Houdini、EmberGen、Cinema 4DのPyroシステムなどから書き出すことができます。

ボクセルとは何ですか?ピクセルとは何が違いますか?

ピクセルは、2D画像を構成する色付きの1つの四角形です。ボクセルは3Dグリッドを構成する1つのセルで、空間内の特定の位置における密度や温度などの値を格納します。ボリュームレンダリングでは、数百万もの3Dボクセルを通過する光をシミュレーションすることで、2Dのピクセルを計算します。

ボリュームレンダリングにノイズが発生するのはなぜですか?

ボリュームのノイズは、通常ライティングによって発生します。散乱媒質内部におけるライトの影響を正確に計算するには、ライトに十分なSamplesが必要です。そのため、全体的な品質設定を上げるよりも、ライトのSamplesを増やす方が効果的な場合が多くあります。雲のように散乱が支配的なボリュームでは、薄く光を吸収する煙よりも明らかに多くのサンプルが必要です。

リアルな炎をレンダリングするにはどうすればよいですか?

シミュレーションのtemperatureグリッドを使用して、BlackbodyモードのEmissionを制御します。Blackbody Emissionでは、物理的な温度を正しい炎の色と強度へ自動的に変換します。約3,000ケルビンでは赤く発光し、温度が高くなるにつれて白へ変化します。Cinema 4Dでは、Standard Volumeシェーダーにさまざまなボリュームシミュレーションシステム向けのプリセットが用意されており、対応するボクセルグリッド名も自動的に入力されます。

光芒を作成するにはどうすればよいですか?

光芒(ゴッドレイ)はボリューメトリックライティングの一種で、薄い散乱媒質を光が通過することで、目に見える光の筋が生まれます。RedshiftではRedshift 環境オブジェクトを追加して少量のスキャッタリングを有効にし、窓から差し込む太陽光のような、一部が遮られた強い光源をシーンに配置します。これにより、光線とボリューメトリックシャドウが自然に現れます。

ボリュームレンダリングにはなぜ時間がかかるのですか?高速化するにはどうすればよいですか?

ボリュームの計算負荷が高いのは、レイの経路上にある多数のポイントをサンプリングし、さらに密度の高い媒質内部では光が何度も散乱する可能性があるためです。Redshiftで高速化するには、シミュレーションの解像度を必要な範囲に抑え、ボリュームトレースデプスを中程度に設定し、消滅減衰はデフォルト値のまま使用します。また、バウンス数を増やす代わりにシャドウ密度スケールを下げ、GPUとデノイザーを活用してください。

サインアップ

Maxonの最新情報をお届けします。アカウントを作成していただくと最新ニュース、セール、イベント情報を受け取ることができます。