通常情况下,我会使用" blender -P script.py"运行python脚本。在这种情况下,启动一个新的blender进程来执行脚本。我现在要做的是使用已经运行的blender进程运行脚本,而不是启动一个新脚本。
到目前为止,我还没有看到任何关于这个问题的消息来源,这使我对这种方法的实际可行性感到担忧。
任何帮助都将不胜感激。
答案 0 :(得分:3)
Blender不是设计为从cli启动,然后在cli运行时继续从cli接收更多命令。但是它包含一个text editor,可以打开文本文件并将文本块作为python脚本运行,它还包含一个python console,可用于在blender运行时以交互方式键入命令。您可能还会发现this addon非常有用,因为它允许您在python控制台中运行文本块,这将为您提供一个交互式会话,其中包含脚本执行结束时存在的变量。
有一个cli option来运行blender作为python控制台blender --python-console
- 当这个控制台运行时gui没有更新,所以你可以打开并执行几个脚本然后当你退出时控制台,blender将更新它的gui并允许交互式使用,或者如果你以后台模式-b
启动,那么当你退出控制台时它将退出。
答案 1 :(得分:2)
我的解决方案是通过控制台启动Blender,其中包含一个包含while循环的python脚本(blender --python script.py),并创建一个服务器套接字来接收处理某些特定代码的请求。循环将阻止blender打开GUI,套接字将在同一个blender进程中处理多个请求。