将平面导入图像在Blender GUI中工作得很好,但是当我尝试在python模块中使用它时,出现了以下错误:

RuntimeError: Operator bpy.ops.mesh.primitive_plane_add.poll() Missing 'window' in context

我的代码是:
import bpy
import addon_utils

# enable plugins
addon_utils.enable("io_import_images_as_planes")

# remove Cube object
bpy.data.objects['Cube'].select = True
bpy.ops.object.delete()

file = "test.jpg"
bpy.ops.import_image.to_plane(files=[{'name':file}], directory='.')

最佳答案

导入图像作为平面运算符仅在3dview中起作用,当前上下文是运行脚本时光标下方的窗口,该窗口将是脚本所在的文本编辑器。可以覆盖当前上下文,读取this answer for more info

另一种选择是将代码放入运算符,然后通过在空格键菜单中搜索或通过添加到3dview中的侧边栏的按钮来运行代码。您可以在Blenders文本编辑器或view it online中找到用于创建简单运算符的模板。

关于python - 在Blender脚本中将图像导入为平面,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30672012/

10-12 21:46