从Blender外部使用Python脚本控制Blender

4
我有一个使用PySide制作的GUI界面,可以渲染Blender文件。这个GUI界面有分辨率选项,可以在渲染场景之前控制它。我在PyCharm中编写了这段代码,需要在不打开Blender的情况下运行此代码。

enter image description here

    if resolutionWidth != 0:                 
        bpy.context.scene.render.resolution_x = resolutionWidth

    if resolutionHeight != 0:
        bpy.context.scene.render.resolution_y = resolutionHeight

    # Override Resolution Scale
    #SCALE = batchRender_UI.resolution_scaleUI()
    if SCALE != 0:                      
        bpy.context.scene.render.resolution_percentage = SCALE
2个回答

4

您可以在命令行中不打开blender的GUI的情况下运行blender的python脚本。进入安装blender的目录,在那里打开终端/cmd,并键入以下命令 -

blender -b -P path/to/your/script.py

标志-b告诉blender在后台运行。-P告诉使用blender的python运行python脚本。如果您想打开blender的GUI并运行py脚本,则运行以下代码:

blender -P path/to/your/script.py

在作为子进程运行时,请使用以下代码:
import subprocess
subprocess.run(['blender', '-b', '-P', 'path/to/your/script.py'])

这对我来说完美地运行了:blender -P path/to/your/script.py。我如何向我的Python脚本添加参数? - Amine Sehaba
尝试blender -P path/to/your/script.py -- arg0 arg1 arg2 - YadneshD
对我来说,它完美地起作用了!谢谢。 - Amine Sehaba

0

如果您想更多地控制Blender,您可以将Blender构建为Python模块

这是一种构建选项,可以将Blender导入Python并访问其模块。[...] 这主要限于可以在后台模式下使用的功能,因此您不能进行OpenGL预览渲染。

请注意,由于Blender使用版权左传许可证,根据您想要使用和分发应用程序的方式,这可能是可以接受的或不可接受的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接