防止搅拌机名称索引

时间:2016-08-31 03:24:33

标签: python blender

我正在使用python脚本在Blender中导入和导出wavefront obj文件。问题是如果已经添加了具有相同名称的对象,Blender会为对象的名称添加索引。例如,myObject变为myObject.001,如果过去已经添加了一个名为myObject的对象(即使删除了所述对象)。当我将对象导出为.obj时,名称不再与之前相同。

如何重置“名称计数器”?

1 个答案:

答案 0 :(得分:2)

blender中的每个项目必须在其所属的项目列表中具有唯一的名称(每个名称都是字典键),并通过根据文件中的其他项目附加数字后缀来使名称唯一,请注意它基于文件 - 而不是场景,因为混合文件可以包含多个场景。在此过程中不考虑已删除的对象,而在文件关闭之前,其他项目(如材料和网格数据)仍保留在列表中。

obj导入器首先创建网格数据块,然后使用与网格数据相同的名称创建一个对象 - 这会导致新对象的数字后缀始终大于以前的对象。

如果使用python脚本导入多个对象,则可以在导入后重命名该对象。

bpy.ops.import_scene.obj(filepath='Object1.obj')
bpy.context.selected_objects[0].name = 'Object'
bpy.context.selected_objects[0].data.name = 'Object'

在这种情况下,任何名为" Object"的现有对象将被重命名为具有后缀。

相关问题