【Blender5.0】フォグ・霧・大気・遠近法表現の作り方:ミストパス/ボリューム/テクスチャ

blender
記事内に広告が含まれています。

Blenderでシーンを作っていると、なんだかスケール感が出ない、奥行きがなくミニチュアっぽく見える、空気が存在していないように感じる、といった違和感にぶつかることがあります。

こうした問題の多くは、フォグ・霧・大気・空気遠近法といった空気の表現が不足していることが原因の一つです。

Blenderでは、この空気を表現するために、大きく分けて次の3系統の手法があります。

  • パス(Depth pass(Z深度パス)・Mist pass(ミストパス))を使う方法
  • シェーダー/ワールドシェーダーのボリュームを使う方法
  • 板ポリにテクスチャを貼る

この記事では、それぞれの仕組み・使い方・得意不得意を整理し、

  • どういうときに、どの手法を使うべきか
  • フォグ・霧だけでなく、空気遠近法や大気表現としてどう使えるか

を中心に解説していきます。

この記事は、Blenderのフォグ・霧・大気・空気遠近法の表現の仕方を解説している初級~中級者向けの記事です。

難易度 2.5

スポンサーリンク

フォグ・霧の作り方:3つのアプローチの違い

フォグや霧の表現は、パスを使う方法ボリュームを使う方法、またはテクスチャを使うの大きく3つのアプローチに分けられます。

パス系

奥行き情報を使った「画像処理的」アプローチ

  • カメラからの距離情報をもとにフォグを表現する方法
  • 主に Depth pass(Z深度パス)・Mist pass(ミストパス) を使い、コンポジットで処理する
  • 大気遠近法や、かなり広い範囲に広がるフォグ表現に向いている
  • レンダリング負荷が軽く、後から調整しやすい

「シーン全体に空気感を足したい」「奥行きを強調したい」といった場合に便利な手法です。

ボリューム系

実際に空間に霧が存在する「物理的」アプローチ

  • ボリュームシェーダーを使い、光との相互作用を表現できる
  • 特定の場所に、思い通りのフォグ・霧を作りたいときに向いている
    • 例:地面付近に溜まる霧
    • 例:キャラクターが懐中電灯で霧の中を照らすシーン
  • 狭い範囲で霧の見た目を細かく制御できる
  • 広い範囲に使うと、処理が重くなりやすい

「霧そのものを見せたい」「光と絡めた演出をしたい」ときに効果を発揮します。

テクスチャを使う

ボリューム使わず、板ポリ+テクスチャだけで見せる「スクリーン上の疑似フォグ」

  • 遠景に使うと軽量でレンダリングも早い。広大でリアルなシーンを作るときによく使われる。
  • 画像テクスチャを使うときもあれば、シェーダーで作った画像が使われるときもある。
  • コンポジットでノイズテクスチャなどが使えるようになったのでコンポジットでも作成することができる。

使い分けの考え方

  • シーン全体の奥行き・空気感 → パス系
  • 特定の場所・光と絡む霧 → ボリューム系
  • 広大でリアルなシーン・または軽量で済ませたい場合 → 板ポリ+テクスチャ

作りたいシーンや演出に応じて使い分けたり、組み合わせることで、作業効率も表現の幅も大きく広がります。

スポンサーリンク

Depth pass(Z深度パス)・Mist pass(ミストパス)によるフォグ/遠近表現

Mist Passの使い方

まずは手軽に使えるMist Pass(ミストパス)の設定方法から説明します。EEVEE, Cycles両方で使えます。

  • View Layerプロパティメニューを開く
    Passes > Data > Mistにチェックを入れる。(ちなみにDepthパスを使う場合は上のDepthにチェックを入れる。)
  • カメラを選択し、Object Dataプロパティメニューを開く
    Viewport Display > Show > Mistにチェックを入れる
    これでミストをどの範囲に作るかのパスが画面に出てきます。
  • Worldプロパティメニューを開く
    • Mist Pass > Start(ミストを作るときの始点)
    • Mist Pass > Depth(ミストを作るときの終点)
    • Mist Pass > Falloff(ミストの密度の増え方)
      • 自然な見え方はデフォルトのQuadraticです

Mist Passの設定が出来たらCompositorエディタに移動します。

Compositorエディタを開いてメニュー上部のNewというボタンを押し、新しいコンポジット用ノードツリーを作成します。

するとシーンからのレンダリング出力を出すRender Layersノードなどが出てきます。Render LayersノードにはさきほどチェックしたMistパスの出力もあります。(Depthにもチェックを入れるとここにDepth出力が出てきます。)

まずはRender Layersノードの右下のレンダーボタンを押すなどして、一回レンダリングをしましょう。

フレームを増やしてImageエディタを開き、Render Resultを表示するようにします。するとここにコンポジターを通したレンダリング出力が表示されます。

Mistパス出力をOutputノードにつなぐと、奥に行くほど白くなるグラデーション画像ができていることがわかります。

Mistパスを使ってフォグを作る

Mistの出力を使ってフォグを作る方法はたくさんありますが、基本的にはMixノードを使います。

  • MistパスFloat CurveノードをはさんでMixノードのFactorに接続
  • 元画像(Image)Aに接続
  • Bにはフォグにつけたいを設定します

Float CurveにはColor Rampを使ってもいいです。ここを調整して、フォグの濃さを調節します。

Bのカラーを黄色みのある色に変えると、砂埃のようなイメージにすることもできます。

空気遠近法

Mistパス出力を使い、奥に行くほど青味を乗せて空気遠近法のような効果を得ることができます。MixノードBのカラーに、Color RampノードをはさんだMistパスを接続します。

Color Rampノードの白い方を青に近づけます。

リアルな遠近感の特徴
奄美大島

レイリー散乱(Rayleigh scattering)
→ 遠くほどくなる要因
空気分子レベル(波長より十分小さい粒子)で散乱

ミー散乱(Mie scattering)
→ 遠くほど白く霞む要因
埃・水滴・煙など、波長と同程度〜大きい粒子で散乱

距離が伸びるにつれて以下の効果が重なっている

  • コントラストが落ちる(ミー)
  • 彩度が下がる(ミー)
  • 青味が乗る(レイリー)

「青くなる」だけだと 澄んだ空気
「白くなる」だけだと 霧・靄
両方やると リアルな遠景に近づく

Depth Pass(Z深度パス)の使い方

Depthパスはミストパスと違い、カメラからの距離をそのまま数値として出しています。なので、すぐ1以上になるためほぼ白いグラデーション画像が出力されています。

Map Rangeノードを使い、扱いやすいグラデーションに修正することができます。

  • From Min…フォグの開始地点
  • From Max…フォグの終わる地点
  • Linear/Smooth Step/Smoother Step…グラデーションが線形(直線)か、非線形(曲線)になるか選択

これでMistパスと同様に使えるようになります。

メリットとしては、コンポジット内でグラデーションの始点・終点などを変更することができ、ある部分にだけ効果を追加したいなど、細かい制御ができます。

スポンサーリンク

ボリューム(シェーダー/ワールド)による表現

  • ワールドのシェーダーでシーン全体にフォグを作成する方法…広い範囲
  • ボリューム用オブジェクトを作ってその範囲にフォグを作成する方法…限られた範囲

があります。

Shader Type:World(ワールド)を使ってフォグを作る方法

EEVEEの場合

シェーダーエディターを開き、TypeをWorldにします。

環境光を使っている場合はOutputノードのSurfaceソケットに環境光用のノードがささっています。フォグや霧用のボリュームはVolumeソケットにつなぎます。

Volume用ノード

  • Volume Scatter…パラメータ少なくて簡単
  • Principled Volume…ちょっと複雑

今回は簡単のためVolume Scatterノードを使っています。Densityで霧の濃度を調節できます。

今回はかなり濃い目で、0.3くらいにしています。普通の霧だともっと低めになります。

ライトがないと真っ暗になります。環境光・太陽光(Sun)のような全体のライトではなく、ポイント・スポット・エリアライトなど局所で光るものを配置してください。

Volumeノードを足すだけなので、基本的な使用法はお手軽です。

ノイズ感を足す

レンダリングがのっぺりしてしまって、もっと粒状感がほしいというときは、コンポジットで下のメニューにあるSensor Noiseノードを追加すると、ノイズを足すことができます。

Cyclesの場合

設定はほぼ同じです。
Volume ScatterのDensity…0.2
ポイントライトのPower…50

(意外とEEVEEの方がライトの影の影響がいい感じに出てると思いました。)

Light Pathを使って白っぽい靄を作る※Cycles only

Light PathノードのIs Camera Ray出力を使って、カメラに届いたものだけをVolumeとして表示すると、白い靄(もや)のような表現もできます。

Mix Shaderで出し分けています。

※ちなみにこれはVolume ScatterのMie散乱モードを使っています。Mieは霧やミストなどに最適化されたモードで、Cycles専用です。

調整

奥行にいくにつれて少し暗くなってほしいなど、調整をするときはCamera DataノードのView Z Depth出力などを使って調整できます。

Mix ShaderノードでIs Camera Rayではない入力ソケットにもう一つVolume Scatterノードをつなぎます。

その密度(Demsity)を、Camera DataノードのView Z Depth出力でカメラからの距離に応じて変化するようにします。(近いところでは密度を0にし、遠方の方で密度をほんの少しだけ上げる)

ライトの影響

実際にVolumeを追加することのメリットは、ライトと相互に影響するということです

右図は、上のLight Pathを使って白っぽい靄を作って調整したものに、ライトを追加したり、設定を変えてみたものです。

  • ポイントライト
    • 全体の明度を上げる・近景を見えるようにする
    • Colorに緑色をつけて靄(もや)全体に色をつける
  • スポットライト
    • 光の道筋に靄(もや)やフォグが見えるようになる
    • Colorに緑色をつけてスポットライトにも色をつける
    • Radiusをかなり小さくしないと拡散してライトの筋が見えなくなる

ViewをACES 2.0にすることで、光が当たった部分の彩度が保たれます。

スポンサーリンク

ボリューム用オブジェクトを作ってその範囲にフォグを作成する方法

次は、フォグを作りたい場所にボックスなどのオブジェクトを作ってそこにシェーダーでボリュームを追加する方法です。

右図の下のように、今回は真ん中あたりの高さにボックスを作成しました。

そのボックスにマテリアルシェーダーを追加します。

ワールドのときと同様、以下のVolume用ノードをマテリアルアウトプットのVolumeソケットに接続します。

Volume用ノード

  • Volume Scatter…パラメータ少なくて簡単
  • Principled Volume…ちょっと複雑

ボックスの形にフォグの塊ができてしまって不自然なので、Noise TextureColor Rampで密度を変化させて、自然なフォグの形になるように調整します。

オブジェクトで作るVolumeは、太陽光(Sun)や環境光にも反応しますが、光が足りないと黒く見えることがあります。

スポンサーリンク

板ポリ+テクスチャで疑似フォグを作る

板ポリにフォグの画像テクスチャを貼るだけです。

Shift + Aでメニューから
Image > Mesh Plane を出すと画像が貼り付けられた板ポリが出てくるのでそれを配置します。

PNG画像で透明度がある場合はAlpha出力をPrincipled BSDFAlphaに接続します。透明度が無い場合はColor出力をAlphaに接続します。

画面の奥行を意識して何枚か配置します。

うまく表示されないとき

透明がうまく表示されないときは、

Render プロパティ > Light Paths > Max Bounces
Transparentの数値を上げると解決することがあります。

または、ビューレイヤーなどで分離してCompositeで合成する場合は、Alphaモードなどを変更してみると改善する場合があります。

板ポリで空気遠近

グラデーションの板ポリを重ねて空気遠近法のような効果を出すこともできます。

下から上に透明度が低くなるようなフォグを作って遠景の山などの前に置くと、山の間に空気がたまり、前後の山の間に白く霞んだような効果が出ます。

少し青味を足して、リアルな空気遠近の効果を簡単に追加できます。

コメント