【Blender5.0】Sky Textureの使い方:空の表情を作る

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

Blenderでシーンを作っていると、「とりあえず空を入れたい」「HDRIを使うほどではないけど、自然な空が欲しい」という場面はかなり多いです。そんなときに非常に強力なのが Sky Texture(大気テクスチャ)ノード です。

Sky Textureは、数値を調整するだけで朝焼け・昼の快晴・夕焼け・霞んだ空など、さまざまな空の表情を作れるプロシージャルな空生成ノードです。特に Blender 5.0からは Multiple Scattering が使えるようになり、より物理的に正確でリアルな空 を簡単に作れるようになりました。

この記事では、

  • Sky Textureノードの使い方
  • Multiple Scattering のパラメータや設定・使い方
  • 様々な空の表現方法
  • Sky Textureと組み合わせた雲の作り方

といった内容を、初心者にも分かるように順を追って解説していきます。

この記事は、Blenderの Sky Texture(大気テクスチャ)ノード の使い方を解説している初級~中級者向けの記事です。

難易度 3.0

スポンサーリンク

Sky Textureノードとは

Sky Textureノードは、大気中での光の散乱を数式で再現することで空を生成するノードです。
Blender5.0で追加されたMultiple Scatteringモードによりさらにリアルにきれいな空を表現できるようになりました。

使い方

使い方は2通りあります。

Worldプロパティで設定

  • Worldプロパティタブ > ColorSky Texture に変更する

シェーダーで設定

  • Shader Editor を World に切り替える
  • Shift + ASky Texture ノードを追加
  • Backgroundノード の Color に接続

※Worldプロパティで設定すると、自動的にシェーダーエディタでも使えるようになります。

これだけで、シーン全体を照らす空と環境光が同時に設定されます。

シェーダーの場合、Strength(強さ)はBackgroundノードで調整することになります。

シェーダーノードを操作することで、より空の表現を制御できるようになるので、基本的にシェーダーノードを変更していきますが、パラメータの数値だけ変更したい方はWorldプロパティで変更してもかまいません。

スポンサーリンク

Sky Type(大気タイプ)の違い

Sky Textureには複数の大気モデル(Sky Type)が用意されています。それぞれ精度や用途が異なります。

Multiple Scattering(推奨)

Blender 5.0以降で使える、最も物理的に正確なモデルです。

Multiple Scattering(光の多重散乱)の利点

  1. 空のグラデーションが自然…光が大気中で何度も散乱するため、朝焼け〜昼〜夕焼けまでの色の変化が滑らかに表現できる
  2. 影や環境光の自然な表現…空からの光が複雑に回り込むため、物体の影や反射も自然な色味になる
  3. 霞んだ空や湿度のある空も再現可能…微粒子や水蒸気による光の拡散が自然に表現される

今回の記事では主にこのモードの使い方を解説していきます。

レガシーなモデル

※ 以下は将来的に削除予定のレガシーモード(古い互換モード)です。

  • Single Scattering
    • 1993年のNishitaモデルを改良したもの。大気中での1回の散乱のみを考慮
    • 計算がシンプルなので「軽く空を入れたい」「昔のBlenderとの互換性を保ちたい」場合には使えます。
  • Preetham
    • 1999年の論文ベース。
  • Hosek / Wilkie
    • 2012年のモデル。Preethamより高精度
スポンサーリンク

Multiple Scattering(光の多重散乱)の使い方・パラメータ

明るさの調整

非常に明るくなりやすいため、以下のような方法で明るさを調整する必要があります。

  • worldプロパティ > Strength または BackgroundノードのStrengthを下げる
  • Renderプロパティ > Color Management > Exposure を下げる

Exposureを下げるのは画面内の全ての出力結果の明るさを下げるため、空の明るさだけを下げたい場合はStrengthを下げた方が調整しやすいです。

Sun Disc ※Cycles Only

  • 太陽の円盤によるライティングを 有効/無効 にする
  • 有効にすると、太陽自体が光源として計算される

Sun Size

  • 太陽円盤の 視直径(度単位)
    • 日本からの太陽の大きさは約0.5度で、デフォルトの0.545のままで自然な見え方になる
  • 見た目の大きさや光の広がり、影のシャープさに影響する

Sun Intensity

  • 太陽光の 強さの倍率
  • 数値を上げると太陽光が強くなり、影とのコントラストや明るさが増える

Sun Elevation(太陽高度)

地平線からの太陽の角度で高さを変更します。
時間帯表現の最重要パラメータです。
0°=地平線、90°=真上

太陽高度と時間の関係(北半球・日本の場合)

  • :日の出・日の入り(0〜5°:朝焼け・夕焼け)
  • 15°:地平線から少し昇った状態 → まだ朝早め/夕方早め
  • 30°:午前中〜午前遅め、午後遅め
  • 45°:昼前/午後前
  • 55°〜80°:真昼前後(冬はもっと低い)
  • マイナス:夜(※空は暗くなる)

春、夏、秋、冬、など季節によって太陽の高度は変わってきます。

Sun Rotation(太陽の回転)

太陽を水平に回転させる(天頂を中心とした水平回転角度
光の当たる方向を調整するために使用。影の向きが変わります。

上のSun Elevation(太陽高度)と組み合わせて使うことで、太陽の1日の動きなどを表現できます。

南に向いてるときの季節ごとの角度の目安

  • 春・秋…朝日:−60° → 昼:0° →夕日: +60°
  • 夏…朝日:−75° → 昼:0° →夕日: +75°
  • 冬…朝日:−45° → 昼:0° →夕日: +45°
数値はわかりやすいように入れてるだけで、現実的な数値ではありません

※太陽高度も回転もこうすれば正解というものではなく目安です。シーンの状況に合わせて適切な数値をいれてください。

Altitude(高度)

カメラ位置の海抜高度(km)

  • 0~12 km(対流圏)
    • 雲や天気現象はほとんどここにある。地上から旅客機・エベレストくらいまで。
  • 12~50 km(成層圏)
    • 気温が上がりオゾン層がある。飛行機はほぼ入らない。高高度気球なら入れる。
  • 50~80 km(中間圏)
    • 流星が燃える層。非常に薄い空気。
  • 80~700 km(熱圏)
    • オーロラ発生、国際宇宙ステーションは約400 km。ほぼ宇宙と同じ環境。
  • 700 km~(外気圏)
    • 空気分子はほとんどなく、地球の引力に束縛されつつ宇宙に抜けていく。

高度を上げると、空が暗く・濃くなり、地平線がはっきりします。

Air

  • 大気中の 空気分子の密度
  • 値の目安:
    • 1 → 都市レベルの大気
    • 0 → 大気なし

大気が増えていくと無色→薄青→黄色→赤→青のように色が変化する

Air(空気量)とレイリー散乱による空の変化

Sky Texture ノードの Air は、大気中の空気分子の量を表しています。この空気分子によって起こるのが レイリー散乱 です。

レイリー散乱とは、空気の分子が太陽光を散らす現象で、青い光ほど強く散乱される という特徴があります。

Air を増やすと色が変わる理由

大気中で光が散乱されると、短い波長の青い光ほど強く散乱されて直進しなくなり、状況によって残る光の成分が変わります。そのため Air の値を上げると、空の色は無色から青、黄色、赤、そして暗い青へと変化します。

Air を増やすと暗く見える理由

レイリー散乱は、光の方向をバラけさせる 現象です。Air が多いほど光が大気中で失われた結果として暗くなります。

Aerosols

  • 大気中の エアロゾル粒子(水滴など)の密度、水滴・微粒子(霞・夕焼け感)
  • 値の目安:
    • 1 → 都市の空気中の粒子量
    • 0 → 粒子なし

値を増やすと
白っぽく明るくなる→青く暗くなる
と変化します。

エアロゾルが少し増えると、粒子によるミー散乱で光が前方向に散り、空全体が白っぽく明るくなります。
しかし、さらにエアロゾルが増えると光が大気中で過剰に散乱・吸収され、直射光が弱まるため、残りやすい青い散乱光が支配的になり、空は暗く青く見えるようになります。

Ozone

  • 大気中の オゾン分子の密度
  • 青空の表現に効果的
  • 値の目安:
    • 1 → 都市レベルのオゾン
    • 0 → オゾンなし

オゾンの発生

オゾン層以下にも少量のオゾンは常に存在し、工場や車などから出る汚染物質が多く、強い太陽光を受ける都市部や夏場では光化学反応によって増えることがある。(が、エアロゾルも増えるので青くなるわけではない)

高山の空が青空に見えるのはなぜか

高山の空が濃い青に見えるのは、オゾンが多いからではなく、エアロゾルや水蒸気が少なく、余計な散乱が起きにくいためです。Sky Texture の Ozone は、実際の濃度というより、そうした澄んだ青を視覚的に補正するために使います。

入力:Vector(ベクトル)

Vector入力は、空をどの方向からサンプリングするかを指定するためのものです。
未接続の場合:Generated座標が自動的に使われる
特別な理由がなければ 基本的に接続しなくてOK
HDRIのように回転させたい場合は、Texture Coordinate + Mapping を使って制御することもできますが、Sky Textureでは Sun Rotation / Sun Elevation を使う方が直感的です。

スポンサーリンク

いろいろな空の表現

夕方、夕焼け

シェーダー

  • Strength:弱め(暗くする)
  • Sun Elevation:低め(0〜5°)
  • Airを増やす
    → 赤みの強い空になります。
  • Aerosolsを増やす
    → 黄色みの強い空になります。
  • 色味が弱いのでHue/Saturation/ValueノードでSaturation(彩度)を上げます

コンポジット

  • Glareで太陽に黄色みとほわっとした光を追加します
  • GlareのTintを黄色にしたのになぜか赤っぽくなるのでHue/Saturation/ValueノードでHue(色相)を黄色にします。
  • MixノードのAddでグレアの光を加算します。

夏の真昼の青空

シェーダー

  • Strength:弱め(暗くする)
  • Sun Elevation:高め(70°前後)
  • Airを低くする
  • Aerosolsをかなり低くする
    → 澄んだ空
  • Ozoneは適量。青味(多すぎると暗くなる)
  • 色味が弱いのでHue/Saturation/ValueノードでSaturation(彩度)を上げます

月明りが照らす夜の海

夜の表現ですが、月を出したかったので、Sun Discにチェックして太陽を出しています。(自分でUV Sphereなどを出して作ることもできます。)

Worldの設定

  • Strength…かなり弱め。暗くする
  • Sun Intensity…弱め
  • Hur/Saturation/ValueノードのValue…弱める

太陽の強さを弱めたので明かりがビーチにまで届きません。ビーチも少し照らしたかったので、エリアライトをビーチ+スザンヌ+ヤシの木だけにLight Linkingして照らしています。

他にもコンポジットでグレアをつけています。

雲や海のマテリアル設定

雲の作り方については下のセクションで少し解説しているのであまり解説しませんが、月明りの空を表現するポイントとして、

雲が月を隠せる厚さ かどうかが重要です。

今回少し雲が月を隠しています。月の明るさが貫通してしまわないように、Densityの値をMultiplyノードで調整しています。

海を作る上で気を付けるのは、月明りが映るかどうかです。

滑らかにしてIORをきちんと設定しても、あまりに鋭い表面反射の場合、光がカメラに届かず、月の光の反射が起こりません。

そこで、Noise Textureのスケールを大きくして、さざ波を立てることで、月の光がきちんと反射するようにしています。

スポンサーリンク

シーンの作り方

Sky Textureを使ってシーンを作る基本的な方法を紹介します。

Sky Textureの地平線への合わせ方

メッシュ

右図のメッシュは海ですが、高さは0のまま平面を地平線側に広げて、カメラに入る部分だけを作るようにします。

例えば画像のものはX:548m、Y:301mで、なかなか巨大です。もっと広大な景色を作りたい場合、さらに大きくする人もいます。

カメラの設定

  • Lens > TypePerspective
  • Focal Length…小さい方が背景をダイナミックに入れることができます。
  • Clip End…メッシュの大きさに合わせて大きくしておかないと、途中でメッシュがカメラに映らなくなります。適当に大きくしておきましょう。

Sky Textureの設定

Altitude(高度)…0に合わせると、若干奥の方が黒く見えることがあったり、線が見えたりすることがあります。高度を上げると、地平線がぼやけてうまくなじみます。

雲の作り方(基本的な考え方)

Sky Textureには雲を直接生成する機能はありません。そのため、

  • ボリューム雲(Volume + Noise)
  • 平面+雲テクスチャ
  • Geometry Nodesで作った雲メッシュ

などを Sky Textureと組み合わせて使うのが一般的です。

右図ではボリュームを使った雲の作り方を紹介しています。

雲ボリューム用Boxを作る

雲ボリューム用のボックスをカメラに収まる範囲で作ります。高さは雲がある高さに設置してください。

マテリアルシェーダー設定

テクスチャ座標はGeneratedを使い、Noise Texture(Normalizeを外す)で雲の形を作っていきます。(Mappingを挟んでLocationを動かすことで雲の流れのアニメーションができます。)

Gradient Texture(下から上に黒から白のグラデーション)をMixノードのFactorにいれて、Noise Textureの出力をBの側に接続し、Aは黒くしておきます。(雲がボックスの下でばっさり切れないようにグラデーションをかけています)

※雲の形を作るときにカラーランプで調節しますが、ここの色が密度になるので、白くすると密度や影が濃い雲になります。

Volume ScallterのDensity入力に接続します。この出力はOutputのVolumeに接続してください。

夕焼雲

夕焼け雲のような、大気の色に染まっている雲を作る場合です。

Sky Textureで背景色などを作っても、あまり雲には反映されません。シェーダーなどで自分で色をつけることになると思います。

色を付けて調整したいので、ここでもPrincipled Volumeノードを使います。

Blackbodyを使ってみたら、いろんな色味が出てきました。

ほかにもColor や Absorptionなどに色を入れていますが、ここらへんは見て適当に決めています。正直色がどうなるかは予測がつきません。

スポンサーリンク

まとめ

Sky Textureは、

  • 手軽
  • 軽い
  • 物理的に破綻しにくい

という点で、非常に優秀な空表現手段です。
特にBlender 5.0以降は Multiple Scattering一択 と言っていいほど完成度が高く、

  • 時間帯表現
  • 天候の雰囲気
  • シーン全体の説得力

を大きく底上げしてくれます。

コメント