Blender 通过 ssh 运行自定义脚本
Posted
技术标签:
【中文标题】Blender 通过 ssh 运行自定义脚本【英文标题】:Blender run custom script via ssh 【发布时间】:2018-09-21 09:44:39 【问题描述】:我为搅拌机创建了以下自定义脚本 https://github.com/Korchy/Ozbend_Engraving_Internal
我正在尝试通过 SSH 使用它 像这样
blender -b -P __init__.py
But im getting the following error
AL lib: (WW) alc_initconfig: Failed to initialize backend "pulse"
ALSA lib confmisc.c:767:(parse_card) cannot find card '0'
ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1246:(snd_func_refer) error evaluating name
ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5007:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2501:(snd_pcm_open_noupdate) Unknown PCM default
AL lib: (EE) ALCplaybackAlsa_open: Could not open playback device 'default': No such file or directory
Traceback (most recent call last):
File "/home/solomio/public_html/engravingcreator/__init__.py", line 19, in <module>
from . import engraving_internal_ops
SystemError: Parent module '' not loaded, cannot perform relative import
我该如何解决这个问题?
【问题讨论】:
显示的日志中没有严重错误(没有声音 - 但很好)。从您提供的内容来看,该脚本似乎已完成执行。你的脚本包含什么?你认为它应该做什么?是什么让你觉得没跑? 脚本应该拍摄图像+场景+物体并渲染图像 我在错误日志中又添加了 3 行 拍什么照片?什么场景?渲染到哪里?这一切都没有具体说明,所以这是一种猜测或错误的期望。错误是自我描述的,但看看“你的”脚本,它只有 10 行代码。它在主要上下文中调用register
,仅此而已。在最好的情况下,它会在搅拌机中注册运算符,但永远不会调用该运算符,因为没有代码可以这样做。它应该通过 GUI(它自己添加到其中)以交互方式调用,或者通过编写单独的脚本来指定所有必需的参数、调用运算符并将结果保存在某处。
即你需要通过 UI 安装插件,启用它,保存用户默认值 - 然后你可以从后台脚本中使用它,你需要编写。
【参考方案1】:
您尝试运行的“脚本”是一个插件。您无需运行该脚本,而是安装并启用插件以向搅拌机添加额外功能。启用插件后,您可以运行 python 脚本来运行它提供的运算符,类似于任何内置运算符。
This answer 展示了如何在后台运行 blender 时实现自动化,对于您链接到的插件,下载 repo 的 zip 并将 zip 文件的路径传递给 addon_install
。
使插件执行的命令应该是bpy.ops.engravinginternal.start()
【讨论】:
以上是关于Blender 通过 ssh 运行自定义脚本的主要内容,如果未能解决你的问题,请参考以下文章
无法在 F3 运算符搜索中找到自定义 Blender 运算符(Blender 2.9)