在Blender外运行Python脚本
我想把一些科学数据可视化,目前的效果只是一些不同颜色和大小的球体动画。
我已经在Mathematica里写了一个脚本,可以生成POV-Ray需要的输入。
但我对POV-Ray的结果质量不太满意,所以我想写一个Python脚本,来设置相应的Blender场景并进行渲染。一个重要的限制是,我想在没有显示器的机器上渲染,所以不能使用Blender的内部控制台。
我的问题是:能不能通过外部控制台使用Blender的API,达到类似POV-Ray的效果呢?
在阅读了George Profenza的回答后,我进一步研究,发现了Blender文档中的一条建议:不要使用Blender!
与我之前的想法相反,实际上需要创建一个Python脚本,这个脚本会在Blender的后台模式下执行。
./blender --background --python myscript.py
4 个回答
1
Blender可以在Docker容器中以“无头”模式运行。你可以在这里查看Dockerfile。
如果你对Docker不太了解,可以先下载Dockerfile,然后运行:
docker build -t blender .
docker run -it -v your_folder/:/scripts bash
现在你可以在无头的Blender中运行你的脚本了。
5
这里有两个选择:
- 第一个是你可能已经听说过的,就是在后台模式下运行Blender。
- 第二个选择是非常实验性的,使用Blender作为一个Python模块 - BlenderAsPyModule
在这两种情况下,导入Mathematica场景应该都很简单 - 你可以使用 bpy.ops.import_scene.*。然后渲染这个场景可以用 bpy.ops.render.render。