Каждый элемент в блендере должен иметь уникальное имя в списке элементов, к которому принадлежит (каждое имя является ключом словаря), и сделает уникальное имя, добавив числовой суффикс на основе других элементов в файле, примечание что он основан на файле, а не на сцене, поскольку файл смешивания может содержать несколько сцен. Объекты, которые были удалены, не рассматриваются в этом процессе, тогда как другие элементы, такие как материалы и данные сетки, остаются в списках до тех пор, пока файл не будет закрыт.
Импортёр 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'
В этом случае любой существующий объект с именем «Объект» будет переименован в суффикс.
Файл .obj может содержать несколько объектов. Как узнать их «реальные» имена после импорта файла? – MyNameIsHans
После импорта файла obj 'bpy.context.selected_objects' будет список только что импортированных объектов, любые предыдущие объекты будут отменены. Переверните этот список и переименуйте их, удалив суффикс. – sambler
Хорошо. Но что, если модель уже содержит суффиксы? Например, потому что это было сделано с блендером? – MyNameIsHans