不幸的是,搅拌机在渲染时不向 python 提供信息,反馈仅限于您显示的渲染结果顶部的行。此答案显示了一种bpy.app.handlers
用于在特定阶段获取通知的方法。对于在 Blenders gui 中监控渲染的脚本,这可能是你能找到的最好的。
如果您提供了一种从 Blender 外部控制渲染的方法,您还有其他一些选择。您可以将 Blender 作为CLI 工具启动,该-b
参数会将其保留在后台(无 gui)并允许您读取其输出以监控它的位置。
我会先运行一个小脚本来获取帧数
blender -b proj.blend --python-expr "import bpy;print(bpy.context.scene.frame_start, bpy.context.scene.frame_end)"
然后当你渲染动画时,你会得到类似的进度输出
blender -b project.blend -a
...
Fra:3 Mem:17.40M (0.00M, Peak 23.73M) | Time:00:00.10 | Scene, Part 230-240
Fra:3 Mem:17.37M (0.00M, Peak 23.73M) | Time:00:00.10 | Scene, Part 228-240
Fra:3 Mem:17.35M (0.00M, Peak 23.73M) | Time:00:00.10 | Scene, Part 231-240
...
第一个数字是正在渲染的帧,最后两个是刚刚完成的图块和正在渲染的总图块,您可以看到该帧的时间搅拌器报告,但您需要监视接收到的每行之间的时间并执行某些操作如果输出行之间的时间太长。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句