【Blender 3.0】ボリュームを使いこなそう!

Blender

はじめに

こんにちは!

今回は3DCGソフトBlenderでの「ボリューム」の使い方を紹介します。

ボリュームを使いこなすことで、「空気感」「雲の形」「半透明なマテリアルの質感」などを表現できるので、その方法を紹介していきたいと思います。

本記事では、特に断りがない限りCyclesでのレンダリングを前提としています。

Eeveeでレンダリングした場合は、記事の通りの出力結果にならない可能性があるのでご注意ください。

ボリュームとは?

「ボリューム」とは、3Dオブジェクトやワールド内部の密度情報のことです。

たとえば、下のような立方体メッシュオブジェクトは、表面のメッシュから構成される「サーフェス」とメッシュの内側の「ボリューム」から構成されます。

メッシュオブジェクトの場合、通常サーフェスにマテリアルを指定して色や模様を付けますが、ボリュームにマテリアルを指定することで「物体や空間内部」の「光の吸収や散乱など」を表現できます。

たとえば、こちらのようなサーフェスにグラスBSDFを指定したUV球のボリュームに、「ボリュームの吸収」というマテリアルを指定すると、ガラス内部の光の吸収を表現できます。

ボリュームの適用方法

つぎに、ワールドやオブジェクトにボリュームのマテリアルを適用する方法を紹介します。

ワールド

「ワールドプロパティ」の「ボリューム」の項目で、ワールド空間に適用するボリュームのマテリアルを追加できます。

ワールドにボリュームを適用することで、「霧」「ボリュームライト」などを表現することができます。

具体的な作り方についてはのちほど紹介します。

メッシュオブジェクト

先ほど紹介したように、ガラスのような透明なメッシュオブジェクトにボリュームマテリアルを適用することで、物体内部の「光の散乱」「光の吸収」「発光」を表現できます。

また、こちらのように「マテリアル出力」のサーフェスの接続を切り、ボリュームのみを接続することも可能です。

ボリュームオブジェクト

サーフェスをもたずボリューム情報だけをもつ「ボリュームオブジェクト」があります。

ボリュームオブジェクトを使うことで、こちらのようなリアルな雲を生成することができます。

雲の作成方法については、のちほど説明します。

流体シミュレーション

Blenderの物理演算のひとつ「流体シミュレーション」は、「ドメイン」という計算領域の内部にボリュームを生成します。

生成したボリュームにマテリアルを適用することによって、こちらのような炎のアニメーションを作ることができます。

ボリューム用マテリアルの紹介

Blender3.0でボリュームに使用できるマテリアルシェーダーは、「ボリュームの散乱」「ボリュームの吸収」「放射」「プリンシプルボリューム」の4種類のみです。

各シェーダーの機能を紹介します。

ボリュームの散乱

その名の通り、ボリュームの光の散乱を表現します。

こちらのように、シーンに霧を追加するのに使われます。

ボリュームの散乱のプロパティはこちらです。

  • カラー:ボリュームの色を設定します。
  • 密度:ボリュームの密度を設定します。
  • 異方性:通過する光の方向に対する散乱光の方向を制御します。

ボリュームの吸収

先ほど紹介した通り、ボリュームの光の吸収を表現します。

Blender Manual」の説明にあるように、水や色付きガラスを表現するのに使われます。

ボリュームの設定のプロパティはこちらです。

  • カラー:ボリュームの色を設定します。
  • 密度:ボリュームの密度を設定します。

放射

ボリュームの発光を表現します。

こちらのように、物体を内側から光らせることができます。

放射のプロパティはこちらです。

  • カラー:放射の色を設定します。
  • 密度:放射の強さを設定します。

ちなみに、「サーフェス」にも放射を設定することができますが、こちらのように見た目が大きく変わります。

プリンシプルボリューム

↑で説明した、ボリュームの「散乱」「吸収」「放射」すべての機能を搭載した万能ボリュームです。

先ほど紹介した3つの機能のプロパティを調整できる他、「黒体の強度」の数値を上げることで炎を表現することもできます。

「プリンシプルボリューム」の詳しい設定については、Blender Manualを参照ください。

Principled Volume (プリンシプル ボリューム) — Blender Manual

ボリュームの使用例

ボリュームを使用した例とその作り方を紹介します。

ワールドにボリュームマテリアルを適用することで、こちらのようにを表現できます。

こちらのように、「ワールドプロパティ」→「ボリューム」で、「ボリュームの散乱」を設定することで簡単に霧を作れます。

初期値の「密度1.0」だとほとんど見えなくなってしまうので、密度を0.1程度に調節すると良いと思います。

ワールドにボリュームを追加し、サンライトで照らす場合は、「影を生成」のチェックを外さないと暗くなってしまうので要注意です。
ちなみに、こちらのように空間を囲むように立方体オブジェクトを配置し「ボリュームの散乱」を追加することで、霧を追加しつつサンライトで影を付けることができます。

ボリュームを使わずに、コンポジットで霧を作ることもできます。

詳しくはこちらのチュートリアル動画を参照ください。

【Blender】映像に霧を発生させて雰囲気を作り上げる。

ボリュームライト

こちらのように、光の筋(光芒)やブルームを表現できます。

作り方はこちらです。

  1. 照らすオブジェクト(モンキー)を追加します。
  2. モンキーの上に平面メッシュを追加し、こちらのようにノイズテクスチャなどを使って、虫食い状の穴をあけたマテリアルを設定します。
  3. 平面メッシュの上に、スポットライトを追加します。
    明るさは50000Wにしました。
  4. 「ワールドプロパティ→ボリューム」「ボリュームの散乱」を追加します。
    密度は0.1~0.2程度に設定します。

以前こちらの記事で紹介したように「コンポジット」で光の筋を表現することもできますが、「ボリューム」を使うことで光の散乱や吸収を表現できるので、よりリアルな表現ができます。

ボリュームオブジェクトを使って、こちらのような雲を作ることができます。

作り方はこちらです。

  1. ベースとなるメッシュを立方体から作成します。
  2. オブジェクトモードで、「Shift+A」→「ボリューム→エンプティ」を追加します。
  3. ボリュームを選択した状態で「メッシュのボリューム化」モディファイアを追加します。
  4. アウトライナーで立方体メッシュを非表示にし、ボリュームに「ボリューム変形」モディファイアを追加します。
  5. テクスチャを追加し、「クラウドテクスチャ(Cloud)」を設定します。
    「強さ」の値を大きくすると、雲らしい形に変形します。
  6. 「ボリューム変形」モディファイアをさらに追加します。
    雲のディテールを表現するため、テクスチャのサイズを先ほど設定したものより小さくします。
  7. 雲がリアルに見えるように、「テクスチャの強さ」「密度」「ボクセル量」などを調節します。

ガラス

「ボリュームの吸収」を使うことで、リアルな色付きガラスを作ることができます。

作り方は、先ほど紹介したように、「グラスBSDF」を「マテリアル出力」の「サーフェス」に、「ボリュームの吸収」を「ボリューム」に接続するだけです。

ボリュームのメッシュ化

気体の流体シミュレーションで生成されたボリュームをメッシュ化することができます。

作成方法はこちらです。

  1. 気体の流体シミュレーションを行います。
    「キャッシュ」の項目でタイプを「全て」、ボリューム形式を「OpenVDB」にしてベイクします。
  2. 「Shift+A」→ボリューム→「OpenVDBをインポート」を選択し、ベイクした時に出力したOpenVDBのボリュームデータをインポートします。
  3. メッシュオブジェクト(立方体でOK)を追加し、「ボリュームのメッシュ化」モディファイアを追加します。
    参照オブジェクトに先ほど読み込んだVDBボリュームを設定すると、こちらのように炎+煙の形状がメッシュ化されます。

「ボリュームをメッシュ化」のより詳細な説明については、こちらの記事を参照ください。https://horohorori.com/blender-note/modifiers/generate/about-volume-to-mesh-modifier/

ボリュームレンダリングのコツ

ボリュームレンダリングのコツ・トラブルの対処法を紹介します。

レンダリング時間を短くしたい

ボリュームレンダリングは、ボリューム内部での光の拡散・吸収などを計算する必要があるのでレンダリング時間が長くかかります。

Blender3.0では以前のバージョンと比べてCyclesのレンダリング速度が速くなったのですが、初期設定(最大サンプル数4096)だとレンダリング時間が長くなってしまう場合があると思います。

まずは「最大サンプル数」を128「デノイズ」をON(OpenImageDenoiseかOptiX)を選択してレンダリングするのがおすすめです。

ノイズがひどい場合は最大サンプル数を増やしてみてください。

また、デバイスに「GPU演算」を設定することでレンダリングを高速化できます。

表示されないときは?

ボリュームが表示されない場合は、「マテリアル出力」に接続するシェーダーを確認してみてください。

先ほど書いたとおり、ボリュームに対応しているシェーダーは「ボリュームの散乱」「ボリュームの吸収」「放射」「プリンシプルボリューム」の4種類(およびそれらをつなぐシェーダーミックス・加算)のみです。

それ以外のシェーダーをつないでもボリュームは表示されません。

暗いときは?

先ほど述べたとおり、サンライトを使用する場合、「影を生成」のチェックを外さないと暗くなってしまうので注意が必要です。

それでも画面が暗い場合は、ボリュームの密度を下げたり、ライトを明るくしてみてください。

陰影をつけたいときは?

Eeveeで雲をレンダリングする場合は、こちらのように「ボリューメトリックシャドウ」をONにすると立体感が出ます。

また、ライティングを工夫することで立体感を出すこともできます。

まとめ

「ボリューム」の使い方についてまとめてみましたが、いかがでしょうか?

ワールド空間やオブジェクトにボリュームを追加することで、簡単に空気感や雲・ガラスのリアリティを表現できるので、ぜひ試してみてください。

最後に、今回のまとめです。

  • ボリュームとは?3Dオブジェクトやワールド内部の密度情報のこと
  • ボリュームの適用方法
    • ワールド空間
    • メッシュオブジェクト
    • ボリュームオブジェクト
    • 流体シミュレーション
  • ボリューム用マテリアル
    • ボリュームの散乱
    • ボリュームの吸収
    • 放射
    • プリンシプルボリューム→ボリュームの散乱・吸収・放射すべての機能をあわせ持つ万能型
  • ボリュームの使用例
    • ボリュームライト
    • ガラス
    • ボリュームのメッシュ化
  • ボリュームレンダリングのコツ
    • レンダリング時間を短くしたいサンプル数を少なく、GPU演算
    • 表示されないときは?シェーダーを確認
    • 暗いときは?「影を生成」のチェックを外す(サンライトを使用する場合)、密度を下げるライトを明るく
    • 陰影をつけたいときは?→「ボリューメトリックシャドウ」をONにする(Eevee)、3点ライティングを使う

コメント

タイトルとURLをコピーしました