(可能写得不太好)问题是:有没有办法在通过bpy.import_scene.obj函数加载后立即获取对象数据?
我的意思是当我用这个函数导入一个obj文件时,我需要为它做一些更多的转换。当我通过名称选择一个对象' Mesh' (导入后对象的默认名称)所有这些函数适用于名为' Mesh'的其他对象。在我的场景中。我试图从场景中的对象列表中获取最后一个对象,但是它们按字母顺序排列,因此效果不佳。当我试图更改object.name并将下一个函数应用于它时,它只适用于一个。导入对象的所有早期实例都恢复为默认值。
如何解决这个问题?有没有选择从场景最后添加的对象?或者也许某种方式来标记' * obj对象是在导入下一个函数之前导入的吗?或者也许有一种方法可以将* obj数据直接导入到创建的早期空白对象中。
欢呼声, regg
PS:使用Blender 2.63
答案 0 :(得分:4)
操作员不会返回他们加载的数据,但您可以这样使用标记...
for obj in bpy.data.objects:
obj.tag = True
bpy.import_scene.obj(filepath="somefile.obj")
imported_objects = [obj for obj in bpy.data.objects if obj.tag is False]
答案 1 :(得分:0)
根据我在导入内容后看到的内容,默认标记对于所有对象(包括场景中已存在的对象)都为true。因此,为了标记对象,您必须为它们分配一个false值,然后导入,然后在它们的标记为True时将它们添加到导入的对象中。没有相反的方式。所以我不确定这个答案是否准确。