在搅拌机外运行Blender python脚本

时间:2013-02-28 13:31:49

标签: python wolfram-mathematica blender povray

我想想象一些科学数据,目前只是一些不同颜色和大小的球体的动画。

我已在Mathematica中创建了一个脚本,用于为POV-Ray创建输入。

我的问题是,我对POV-Ray结果的质量不满意,并且想编写一个Python脚本,可以设置相应的blender场景并渲染它们。一个重要的限制是,我想在无头机器上渲染,所以我不能使用Blender的内部控制台。

我的问题:是否可以从外部控制台使用Blender的api来获得类似POV-Ray的行为?


在阅读了George Profenza的回答后,我做了进一步的研究,并在Blender的文档中找到了Don’t Use Blender!

与我的想法相反,必须创建一个python脚本,由blender在后台模式下执行。

./blender --background --python myscript.py

3 个答案:

答案 0 :(得分:5)

据我所知,您可以从命令行运行Blender而无需打开界面/窗口系统,我希望这对您的设置有效。 您不仅可以告诉Blender渲染文档,还可以运行生成该文档的脚本/使用几何体,灯光等填充场景。

或者,您可以直接为渲染器生成内容(并完全跳过3D编辑器/ Blender)。那里有很多免费的渲染器,如:

  1. Yafaray
  2. Sunflow
  3. Mitsuba
  4. LuxRender
  5. Pixie
  6. yafaray

    YAFARAY

    sunflow

    SUNFLOW

    的LuxRender LUX

    精灵

    PIXIE

答案 1 :(得分:5)

有两种选择,

  • 您遇到的第一个是在后台模式下运行Blender,
  • 第二个,非常实验性的,使用Blender作为python模块 - BlenderAsPyModule

在这两种情况下,这应该是导入Mathematica场景的简单操作 - bpy.ops.import_scene.* 然后渲染场景bpy.ops.render.render

答案 2 :(得分:0)

Blender可以在Docker容器内“无头”运行。检查Dockerfile here

如果您不熟悉Docker,请下载Dockerfile并运行:

select date_format(Feedback.DateTime, '%Y %m %d') from ctrData2.Feedback

现在您可以在无头Blender中运行脚本了