mcpField
B
blender-rendering

blender-rendering

github.com/el4cteo创意与媒体600127 次安装今天更新
代码仓库

关于 blender-rendering

面向 Blender 的渲染技能,可配置并执行静帧、动画和多相机渲染,涵盖渲染引擎、质量与色彩设置、输出格式、合成器及命令行流程。

主要功能

  1. 01使用预设批量渲染
  2. 02配置 Cycles、EEVEE 和 Workbench
  3. 03质量与色彩管理指导
  4. 04输出静帧、视频和 EXR
  5. 05命令行及渲染农场流程

适用场景

  1. 01渲染预览图或最终图像
  2. 02制作动画和转台视频
  3. 03导出多相机 EXR 镜头
  4. 04在 CI 或渲染农场执行渲染

安装

复制下面的命令,在终端中运行。

$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。

一次调用

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最终质量、产品、建筑可视化、玻璃/次表面散射/焦散、烘焙路径追踪器;设置 GPU;自适应采样 + 降噪
EEVEE(5.x,原名“Next”)快速外观开发、风格化、动态图形、预览光线追踪反射/GI(use_raytracing)、虚拟阴影贴图;即使无头运行也需要 GPU
Workbench动画预览、黏土/材质球评审、QA 图纸即时渲染,不保证照明准确性
引擎 ID:CYCLES、BLENDER_EEVEE、BLENDER_WORKBENCH。

Cycles 质量调节项(按影响排序)

  1. 自适应采样(最终渲染用 adaptive_threshold 0.01 / 预览用 0.05)+ 降噪(OIDN 配合反照率和法线通道,denoising_input_passes="RGB_ALBEDO_NORMAL")。单纯增加采样数是效率最低的修复方式。
  2. 光线路径:室内场景需要 ≥ 4 次漫反射反弹。产品渲染:总反弹数 12、光泽反弹数 4、玻璃传输反弹数 8–12。将间接光钳制在 5–10,可用少量能量损失消除萤火虫噪点。
  3. 光树(启用 use_light_tree)适用于多光源场景。路径引导(仅 CPU)适用于难处理的间接光照。
  4. 少量大型光源优于大量小型光源。自发光网格的噪点比面光源更多。
  5. 持久数据(render.use_persistent_data)可加速动画和转台渲染。预览时使用 simplify(最大细分级别、纹理限制)。
  6. 5.2:纹理缓存(render.use_texture_cache、use_auto_generate_texture_cache)通过生成 .tx mip 瓦片,降低纹理密集场景的内存占用。

色彩管理(每个项目确定一次)

  • AgX(默认):适合摄影效果,可处理明亮高光。外观:AgX - Punchy、- Base Contrast……
  • Khronos PBR Neutral:忠实呈现反照率。适用于产品/电商和资源评审,也可匹配 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),或用于网页预览的 JPEG。
  • 合成/VFX:EXR 多层(EXR_MULTI、DWAA 16 位),包含通道(降噪数据、Cryptomatte、AO、Mist、Z)。5.0 重命名了通道:Diffuse Color、Depth 等。
  • 视频:先渲染帧(PNG/EXR),再编码(FFmpeg 或 VSE),因为 MP4 渲染中途崩溃会导致所有内容丢失。直接输出 MP4 适用于预览。设置 image_settings.media_type 后再设置 file_format(5.0+)。
  • 透明:film_transparent=True + PNG/EXR。仅玻璃使用 alpha 时,需要设置 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 将帧分配到多台机器,或在共享存储上使用 Placeholders + No Overwrite(render.use_placeholder、use_overwrite=False)。

注意事项

  • scene.render.engine 枚举值未包含所有引擎(包括插件引擎)。请在 try/except 中赋值(脚本已这样处理)。
  • EEVEE 在后台模式下仍需要 GPU 上下文。在没有 GPU 的 CI 环境中,请使用 Cycles CPU 或 Workbench。
  • bpy.ops.render.render(write_still=True) 会写入 render.filepath。如果不使用 write_still,结果只会保留在 Render Result 中。
  • 玻璃/焦散中的噪点:仅在需要时启用焦散(caustics_refractive),增加透射反弹次数,或对窗户使用 Thin Wall(5.2)来模拟。
  • 萤火虫噪点:限制间接光、使用光泽滤波/模糊(blur_glossy 设为 0.5–1),并增大光源。

评论

支持 Markdown