命令行渲染

某些情况下我们想要提高渲染速度、远程访问Blender进行渲染或通过命令行编写脚本。

使用命令行的一个好处就是我们并不需要图形界面进行显示(比如不需要Linux的X server),因此可以通过远程shell进行渲染(典型的比如SSH)。

  • 详见 命令行参数 以查阅完整参数列表(例如指定渲染的场景、结束帧等),或直接运行以下命令:

  • 详见 命令行启动 在Blender通过命令行启动时指定参数。

blender --help

Note

参数会按照给出的顺序依次执行!

以下命令不会生效,因为输出和拓展参数被设定于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

仅渲染倒数第二帧。

Warning

参数对大小写敏感! -F-f 是不同的。

动画

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

仅使用两个线程。

Cycles

除了适用于所有渲染引擎的上述选项之外, Cycles还有其他选项来进一步控制其行为。

blender -b file.blend -f 20 -- --cycles-device CPU

Note

与通用选项不同,特定于循环的选项必须在命令行的末尾传递,然后是双短划线。

--cycles-device CPU

Override the device that is used to render frames. Currently supported options are CPU, CUDA, OPTIX, HIP, ONEAPI, and METAL. Additionally, you can append +CPU to any GPU type for hybrid rendering.

--cycles-print-stats

在控制台上显示有关周期渲染的内存和时间使用情况的详细统计信息。