Gauge 布光与渲染
灯光和摄像机根据被摄物体的尺寸自动设置,然后通过小图渲染进行验证。
1. 构图
run_blender_script path=skills/gauge-light-render/scripts/frame_camera.py
args={"subject":"Props","lens":85,"azimuth":25,"elevation":18,"fill":0.55,"aperture":2.8}
fill 表示被摄物体在其限制侧(宽度或高度)上占据画面的比例。距离通过二分法求解,摄像机对准物体中心,景深聚焦于物体。门控 camera-framing:物体位于摄像机前方、不被裁剪、在限制范围内适配。产品和人像使用较长焦距(85-135 mm),室内场景使用 24-35 mm。
2. 布光
run_blender_script path=skills/gauge-light-render/scripts/rig.py args={"subject":"Props","preset":"three_point","ground":true}
| 预设 | 说明 |
|---|---|
three_point | 主光 + 补光 + 轮廓光,通用用途 |
softbox_product | 大型顶光加两条柔光布,干净的高光边缘 |
dramatic | 小型硬主光、轮廓光、几乎无补光 |
overcast | 柔和天光,无硬阴影 |
灯光距离和尺寸随物体半径缩放,功率随距离平方缩放,strength 调节所有灯光强度。灯光对摄像机不可见。门控 light-rig 报告主光与补光之比(实用范围 0.8-12;3-4 为自然值)。
3. 设置
scripts/render_preset.py 配合 preset = draft(16 采样,50%)、preview(64 采样,75%)、final(256 采样,100%);使用 Cycles 渲染器,开启降噪和 AgX 色彩管理。门控 render-settings。
4. 检查
scripts/render_check.py 渲染并门控 render-check:白色过曝像素 <= 2%,黑色死黑像素 <= 10%,对比度(p95-p5)>= 0.25,平均亮度 0.12-0.75,被摄物体完全在帧内,画面中无区域光可见。添加 reference 参数还可获取与另一张图像的距离。在保存的副本上无头运行:python skills/gauge-core/scripts/run_headless.py skills/gauge-light-render/scripts/render_check.py --blend scene.blend subject=Props。
转盘动画
scripts/turntable.py 将摄像机父级到物体中心处的枢轴,并以恒定速度旋转 360 度;在第一帧、四分之一帧、最后一帧以及 frame_end + 1 处进行验证。
规则
- 大的光源 = 柔光。主光尺寸大致等于被摄物体尺寸,将其靠近物体以增加柔度。
- 始终将灯光保持在摄像机视野之外;Blender 5.3 创建灯光时默认对摄像机不可见,但门控仍会检查。
- AgX 是默认视图变换;如果高光仍然过曝,先降低主光强度,不要触碰曝光值。
- 最终渲染:保存副本,无头运行,绝不在实时会话中渲染(会阻塞 Blender,且崩溃会导致场景丢失)。
- 线框效果:Workbench 在渲染中忽略线框;改为添加临时的 Wireframe 修改器。