mcpField
B
blender-time-of-day

blender-time-of-day

github.com/el4cteoクリエイティブ・メディア56989 回インストール2 週間前に更新
リポジトリ

blender-time-of-day について

Blenderシーンの時間帯、雰囲気、フォグを設定するスキルです。専用スクリプトで環境要素を構築し、シーン内のオブジェクトを変更せずに主要な照明パラメーターを返します。

主な機能

  1. 01時間帯に応じた空と照明の設定
  2. 02プリセットのムード効果
  3. 03フォグの視程と高さの調整
  4. 04環境露出の調整
  5. 05シーンオブジェクトを保ち生成内容を置換

活用シーン

  1. 01日の出やゴールデンアワーの設定
  2. 02夜景への月光・星・霞の追加
  3. 03サイバーパンクやホラーの雰囲気作成
  4. 04谷間の低いフォグの設定

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/el4cteo/blender-skills --skill blender-time-of-day

インストール後、Claude Code で/blender-time-of-dayを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
fog-volumetrics.md
light-values.md
night-and-moods.md
scripts/
_bpyx.py
scene_mood.py

詳細

時刻と雰囲気

実行モデルは blender-core にあります。スタジオや製品のライティングは blender-lighting-lookdev、レンダリング設定は blender-rendering、雨、雪、濡れ、雷は blender-weather-fx にあります。

1回の呼び出し

scripts/scene_mood.py -- --time golden                       # sun 6 deg, warm, long shadows
scripts/scene_mood.py -- --time night --fog-visibility 250   # moonlight + stars + haze
scripts/scene_mood.py -- --time noon --overcast 0.8          # soft grey day
scripts/scene_mood.py -- --mood cyberpunk                    # moonless, neon rim pair, fog, bloom
scripts/scene_mood.py -- --time morning --fog-visibility 120 --fog-height 4   # valley fog

時刻:noon morning afternoon golden sunrise sunset blue_hour night moonless。雰囲気:cyberpunk horror underwater desert(それぞれにデフォルトが設定され、明示的なフラグで上書きできます)。--elevation DEG(負の値は地平線より下)と --heading DEG(0 = +Y、90 = +X)で太陽を調整します。--heading を省略すると、太陽はカメラの視線方向から135°の位置になり、形状が際立つサイド光やバックライトになります。フロントライトは平坦に見えます。

スクリプトは ENV_World、ENV_Mood コレクション(太陽または月、フォグボックス、アクセントライト)、そして雰囲気を指定した場合は ENV_Grade(コンポジターツリー)を作成します。オブジェクトには手を加えず、再実行するとスクリプトが作成したものをすべて置き換えます。キーライトの強さ、色、仰角、露出、警告を返します。

物理的に正確な状態を保つ仕組み

  • 空:ShaderNodeTexSky の MULTIPLE_SCATTERING(5.0以降。SINGLE_SCATTERING は旧式の「Nishita」)を sun_disc=False で使用します。両方のレンダーエンジンでシャープな影を作れるよう、太陽には Sun ランプを使います。ランプの色と空に対する強さは、各仰角における Blender 5.2 独自のスカイモデルで測定した表から取得します(夕日の太陽は約 [1.0, 0.22, 0]、正午は約 [1.0, 0.86, 0.68])。これにより、空と太陽の整合性が保たれます。
  • スケール:AgX、露出0の条件で、正午にはグレーカードが0.18のとき、太陽光は約4 W/m²になります。
  • 露出バランス:各プリセットでは、地面と太陽に向いた壁の間にあるグレーカードで測光し、環境ライトのスケールを調整して、カードがプリセットの明るさになるようにします(正午は1.0、ゴールデンアワーは0.85、夕日は0.7、ブルーアワーは0.35、夜は0.2、月明かりのない夜は0.1)。実用照明は通常のワット数を保ち、その明るさに対して正しく見えます。
  • 物理的な代替方法:--use-exposure を指定すると、差分が view_settings.exposure に反映されます。結果には practical_scale が返されます。同じ見た目を保つには、ランプのワット数にこの値を掛けてください。
  • 夜:月には、スケーリング前で0.3 W/m²のSunランプを使います(35°、寒色の [0.72, 0.82, 1.0]。月光の物理的な色温度は約4100 Kで、プルキンエシフトによって青く見えます)。夜空のドームは天頂に向けてグラデーションになり、地平線には都市の光(ナトリウム灯のオレンジ色、サイバーパンクではマゼンタ)があり、星はカメラレイに対してのみ表示されます。
  • フォグ:シーンとカメラを囲むボリュームボックスです。密度 = 3.912 / 可視距離(Koschmiederの式:可視距離をメートル単位で指定すると、1メートルあたりの消散係数になります)。指数関数的な地表フォグを追加するには --fog-height を指定します。フォグで失われる光を補うため、露出を最大4 EV調整します。これにより、フォグが暗くなるだけでなく、濃い状態を保てます。カメラから見える背景はフォグの色にブレンドされます。

フォグとボリューメトリクス

見た目--fog-visibility(m)
澄んだ空気/遠景の霞5000–20000
霞、砂漠の砂塵1000–3000
霧500–1000
濃霧100–500
深い霧、ホラー20–60
水中(澄んだ状態 → 濁った状態)30 → 8
  • ゴッドレイには4つの要素が必要です:強いキーライト(太陽/スポットライト)、遮蔽物(窓、木、ゴボ)、前方散乱(--fog-anisotropy 0.6–0.85)、EEVEE の use_volumetric_shadows(スクリプトが有効にします)。
  • Cycles 5.x はデフォルトで ヌル散乱を使ってボリュームをレンダリングします(非バイアスで、ステップサイズを使用しません)。scene.cycles.volume_biased=True を設定すると、レイマーチング(volume_step_rate)に戻ります。高さフォグは不均質なボリュームでノイズが多くなるため、サンプル数を増やすか、ノイズ除去を行ってください。
  • EEVEE のボリュームはフロクセルです。ディテールを高めるには、volumetric_tile_size を4から2に変更し、volumetric_end がフォグ全体をカバーするようにします(スクリプトが設定します)。カメラの近くに非常に濃い霧があると縞模様が生じるため、その場合はCyclesを推奨します。
  • ボリュームを使わずに安価に遠景の霞を表現するには、コンポジターでミストパス(view_layer.use_pass_mist、world.mist_settings.start/depth)を合成します。
  • 詳細については、references/fog-volumetrics.md を参照してください。

ルール

  • まず光の向き(横から/後ろから)を決めてから、時間帯を決めます。太陽が低い時間帯(ゴールデンアワー、夕暮れ)では、長い影と、冷たい空のフィルに対する暖色のキーライトが生まれ、最も見映えのよい組み合わせになります。
  • 夜は「青みを加える」だけではありません。コントラスト(月光による硬い影、暖色の実用光源がつくる光だまり、暗いシルエット)を保ち、彩度を下げ、実用光源を加えます。references/night-and-moods.md を参照してください。
  • 実用光源には実際の色温度を使用します(light.use_temperature=True、light.temperature)。ナトリウム灯は2000 K、タングステン灯は2700 K、暖色LEDは3000 K、昼白色LEDは4000 K、ネオンは発光管として設定します。ワット数と換算値については references/light-values.md を参照してください。
  • ビュー変換はAgXのままにします(スクリプトでは、AgX - Punchy のようなムードルックとともに設定されます)。--keep-view を指定すると、現在の設定が保持されます。
  • 各ムードはビューポートではなく、レンダーで確認します。フォグ、星、ブルームはレンダー出力にしか表示されません。blender-rendering の render_batch.py --preset preview を使用してください。

注意点

  • 地平線より下では、空テクスチャに暗い「地面」が表示されます。地面や地形を地平線まで延ばすか、地平線が画面に入らないようにします。
  • ブルーム/グレアのしきい値は、ビュー露出を適用する前のシーンリニア値です。--use-exposure を指定すると、スクリプトがしきい値を調整します。
  • ENV_Grade 以外のコンポジターのツリーは、スクリプトで上書きされず、その旨が報告されます。
  • SunLight.use_nodes とライトのノードツリーは5.xで非推奨となっており、6.0で削除される予定です。代わりにライトの色と temperature を使用してください。
  • 空テクスチャの sun_direction が適用されるのは、従来のPreetham/Hosekモデルのみです。sun_rotation は、0で太陽を+Y方向に、90°で+X方向に配置します(実測値)。
  • レンダーエンジンを変更しても、スクリプトを再実行する必要はありません。スクリプトはEEVEEとCyclesの両方のボリューム設定を行います。

コメント