blender-rendering について
Blenderで静止画、アニメーション、複数カメラのレンダリングを設定・実行するスキルです。エンジンや品質、色管理、出力形式、コンポジター、CIやレンダーファーム向けのコマンドライン処理を扱います。
主な機能
- 01プリセットによる一括レンダリング
- 02Cycles、EEVEE、Workbenchの設定
- 03品質と色管理のガイド
- 04静止画、動画、EXRの出力
- 05コマンドラインとレンダーファーム対応
活用シーン
- 01プレビュー画像や最終画像のレンダリング
- 02アニメーションやターンテーブル動画の作成
- 03複数カメラのEXRショットの出力
- 04CIやレンダーファームでのレンダリング
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ el4cteo/ blender-skills --skill blender-renderingインストール後、Claude Code で/blender-renderingを入力して読み込まれたか確認します。
同梱ファイルscripts/_bpyx.pyscripts/render_batch.py
詳細
レンダリング
実行モデルについては blender-core を、シーンの照明とカメラについては blender-lighting-lookdev を参照してください。
1回の呼び出し
scripts/render_batch.py -- --engine CYCLES --preset final --res 1920 1080 --out //render/hero_#### --frames 1
scripts/render_batch.py -- --preset preview --frames 1-120 --format MP4 --out //render/turntable
scripts/render_batch.py -- --cameras CamA CamB CamC --format EXR_MULTI --out //render/shots/
プリセット:preview(Cycles 64 spp、しきい値 0.05、解像度 50%、EEVEE 16)、final(512 spp、0.01、EEVEE 128 + レイトレーシング)、product(1024 spp、透明な背景)。GPU は自動的に選択されます(OptiX > CUDA > HIP > Metal > oneAPI)。デノイザーもそれに合わせて選択されます(OptiX または OpenImageDenoise)。
エンジンの選択
| エンジン | 用途 | 備考 |
|---|---|---|
| Cycles | 最終品質、製品画像、建築ビジュアライゼーション、ガラス/SSS/コースティクス、ベイク | パストレーサー。GPU を設定し、適応型サンプリングとデノイズを使用します |
| EEVEE(5.x、旧称「Next」) | 高速なルックデブ、スタイライズ、モーショングラフィックス、プレビュー | レイトレース反射/GI(use_raytracing)、仮想シャドウマップ。ヘッドレスでも GPU が必要です |
| Workbench | プレイブラスト、クレイ/マットキャップのレビュー、QA シート | 即時に表示できますが、照明の正確さはありません |
エンジン ID:CYCLES、BLENDER_EEVEE、BLENDER_WORKBENCH。 |
Cycles の品質調整(影響の大きい順)
- 適応型サンプリング(最終出力は
adaptive_threshold0.01、プレビューは 0.05)とデノイズ(アルベドと法線パスを使用する OIDN、denoising_input_passes="RGB_ALBEDO_NORMAL")。サンプル数だけを増やすのは、最も効率の悪い解決策です。 - ライトパス:室内ではディフューズバウンスを 4 以上にします。製品画像では、合計 12、光沢 4、ガラスの透過 8~12 にします。間接光を 5~10 にクランプすると、わずかなエネルギー損失でファイアフライを抑えられます。
- 多数のライトを使う場合はライトツリー(
use_light_tree、有効)を使用します。難しい間接光にはパスガイディング(CPU のみ)を使用します。 - 小さなライトを多数使うより、大きなライトを少数使うほうが効果的です。発光メッシュはエリアライトよりノイズが多くなります。
- 永続データ(
render.use_persistent_data)を使うと、アニメーションやターンテーブルの処理が速くなります。プレビューではsimplify(最大細分化レベル、テクスチャ制限)を使用します。 - 5.2:テクスチャキャッシュ(
render.use_texture_cache、use_auto_generate_texture_cache)は、テクスチャを多用するシーンで.txミップタイルを生成し、メモリ使用量を削減します。
カラーマネジメント(プロジェクトごとに一度決定)
- AgX(デフォルト):写真向けで、明るいハイライトを適切に処理します。ルック:
AgX - Punchy、- Base Contrastなど。 - Khronos PBR Neutral:アルベドを忠実に表示します。製品/E コマースやアセットのレビューに使用し、three.js の
NeutralToneMappingと合わせます。 - Standard:ピクセル値との一致が必要なグラフィック/UI/テクスチャ出力向けです。
- ACES 1.3 / 2.0:VFX パイプライン向け(プレート、ほかの DCC)。
- 全体の明るさを調整する場合は、ライトの出力ではなく露出(
view_settings.exposure)を使用します。ディスプレイデバイスは sRGB、または HDR 納品では Display P3/Rec.2100 に設定します。
出力形式
- 静止画:PNG 8/16 ビット(フィルムが透明な場合は RGBA)、または Web プレビュー用の JPEG。
- コンポジット/VFX:EXR multilayer(
EXR_MULTI、DWAA 16 ビット)をパス(Denoising Data、Cryptomatte、AO、Mist、Z)とともに使用します。5.0 ではパス名が変更されました(Diffuse Color、Depthなど)。 - 動画:まずフレームをレンダリング(PNG/EXR)してからエンコードします(FFmpeg または VSE)。MP4 の途中でクラッシュすると、すべて失われるためです。プレビューには MP4 への直接出力でも問題ありません。
file_formatより前にimage_settings.media_typeを設定します(5.0 以降)。 - 透過:
film_transparent=Trueと PNG/EXR を使用します。ガラスのみのアルファにはfilm_transparent_glassが必要です。
コンポジター(5.0 以降の API)
ng = bpy.data.node_groups.new("Comp", "CompositorNodeTree"); scene.compositing_node_group = ng
ng.interface.new_socket("Image", in_out="OUTPUT", socket_type="NodeSocketColor")
rl, glare, out = ng.nodes.new("CompositorNodeRLayers"), ng.nodes.new("CompositorNodeGlare"), ng.nodes.new("NodeGroupOutput")
ng.links.new(rl.outputs["Image"], glare.inputs["Image"]); ng.links.new(glare.outputs["Image"], out.inputs[0])
Composite ノードはなくなりました。グループ出力が最終画像になります。多くのノードオプションは入力ソケットになっています(Glare の Type、Threshold、Strength など)。blender-geometry-nodes/scripts/gn_builder.py で --describe を実行してください。File Output ノード:directory、file_name、file_output_items。
CLI レンダリング(レンダーファーム、CI)
blender -b scene.blend -E CYCLES -o //out/frame_#### -F PNG -s 1 -e 120 -aはアニメーションをレンダリングします。-f 10は単一フレームをレンダリングします。Python 引数は--の後に指定します。-- --cycles-device OPTIX(または CUDA/HIP/METAL/ONEAPI)を指定すると、Python を使わずにデバイスを選択できます。-s/-eを使ってフレームを複数のマシンに分割するか、共有ストレージ上でプレースホルダーと上書き禁止(render.use_placeholder、use_overwrite=False)を使用します。
注意点
scene.render.engineの列挙値は、アドオンのエンジンを網羅していません。try/except で代入してください(スクリプトではそのようにしています)。- バックグラウンドで EEVEE を使う場合も、GPU コンテキストが必要です。CI に GPU がない場合は、Cycles CPU または Workbench を使用してください。
bpy.ops.render.render(write_still=True)はrender.filepathに書き込みます。write_stillを指定しない場合、結果はRender Resultにのみ保存されます。- ガラスやコースティクスにノイズが発生する場合は、必要な場合にのみコースティクス(
caustics_refractive)を有効にする、透過バウンス数を増やす、または窓には Thin Wall(5.2)を使って擬似的に再現してください。 - ファイアフライ対策:間接光をクランプし、グロッシー用フィルター/グロッシーのぼかし(
blur_glossy0.5~1)を使い、光源を大きくしてください。
コメント
Markdown 対応