我正在为 Blender 2.8x 编写一个导入插件,我想利用多文件选择功能。 不幸的是,我在“ImportHelper”(我派生的类)中找不到任何相关规定,并且网络搜索没有产生任何似乎有效的内容,而且我似乎在文档中也找不到任何内容。
最佳答案
事实证明,您需要做几件事才能使这项工作正常进行,但文档中尚未涵盖。
首先,它有助于了解基类“ImportHelper”在导入脚本中使用它时的作用。初始化时,脚本调用“context.window_manager.fileselect_add(self)”,它将多个对象添加到您的类中。 源代码中的这个字符串泄露了它:
"The string properties 'filepath', 'filename', 'directory' and a 'files' " "collection are assigned when present in the operator"
"file"对象是我们所需要的,但只有当您的类中也有正确的属性时,才会出现该对象,例如:
files: CollectionProperty(
type=bpy.types.OperatorFileListElement,
options={'HIDDEN', 'SKIP_SAVE'},
)
然后,如果存在,您可以在类的“执行”方法中访问它,以迭代您选择的所有文件:
for meshfile in self.files:
filepath = meshfile.name
print(filepath)
此外,请记住包含正确的属性,我将这些属性包含在导入器中:
from bpy.props import (
BoolProperty,
CollectionProperty,
StringProperty,
)
关于python - 在 blender 导入插件中导入多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63299327/