Blender 命令行渲染

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
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容