防止搅拌机名称索引

Preventing blender name indexing

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

如何重置 "name-counter"?

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" 的任何现有对象都将重命名为具有后缀。