Blender 命令行渲染
某些情况下我们想要提高渲染速度、远程访问 Blender 进行渲染或通过命令行编写脚本。
使用命令行的一个好处就是我们并不需要图形界面进行显示,比如不需要 Linux 的窗口系统 X server,因此可以通过远程 shell 进行渲染,典型的比如 SSH。
注意命令的正确使用,错误命令可能导致全黑输出。使用粒子等模拟运算的动画需要注意,模拟数据要进行烘焙。例如,执行粒子的 Cache 属性面板 Bake All Dynamics,否则执行命令行渲染时,模拟不会执行,只有第一帧有效果。
对于物理刚体系统的模拟烘焙,见场景属性面板 Rigid Body World。
以下命令不会生效,因为输出和拓展参数被设定于 Blender 已经被指派进行渲染之后:
blender -b file.blend -a -x 1 -o //render
以下命令将按预期执行:
blender -b file.blend -x 1 -o //render -a
始终 将 -f 或 -a 放在最后一个参数的位置上。
单张图像
blender -b file.blend -f 10
-b 后台渲染(没有用户界面)。
file.blend 用于渲染的blend文件路径。
-f 10 只渲染第10帧。
blender -b file.blend -o /project/renders/frame_##### -F OPEN_EXR -f -2
-o /project/renders/frame_#####
保存渲染图像的路径,使用五个 0 补位用于帧计数。
-F OPEN_EXR 覆盖blend文件中指明的图像保存格式,并保存为一张OpenEXR图像。
-f -2 仅渲染倒数第二帧。
参数对大小写敏感! -F 和 -f 是不同的。
指定多帧
渲染第 21 帧和倒数第 30 帧
blender snowboy.blend -b -f +21,-30
动画
blender -b file.blend -a
-a 使用blend文件中保存的设置渲染整个动画。
blender -b file.blend -E CYCLES -s 10 -e 500 -t 2 -a
-E CYCLES 使用“Cycles Render”渲染引擎。执行 blender -E help 查看可用渲染引擎列表。
-s 10 -e 500 将起始帧设为 10 结束帧设为 500。
-t 2 仅使用两个线程。
-a 动画序列渲染,注意不是动画播放。
动画播放命令对比
blender -a render/0000.png -s 2 -e 24 -j 2
雪人材质示例:
shader-snowboy.jpg snowboy (1).png
snowboy (2).png
snowboy.gif
网友评论