2016-08-31 3 views
0

Я использую скрипт python для импорта и экспорта файлов obj wavefront в Blender. Проблема в том, что Blender добавляет индекс к имени объекта, если объект с тем же именем уже был добавлен. Например, myObject становится myObject.001, если в прошлом был добавлен объект с именем myObject (даже если указанный объект был удален). Когда я экспортирую объект как .obj, имена уже не такие, как раньше.Предотвращение индексирования имени блендера

Как сбросить этот счетчик имен?

ответ

1

Каждый элемент в блендере должен иметь уникальное имя в списке элементов, к которому принадлежит (каждое имя является ключом словаря), и сделает уникальное имя, добавив числовой суффикс на основе других элементов в файле, примечание что он основан на файле, а не на сцене, поскольку файл смешивания может содержать несколько сцен. Объекты, которые были удалены, не рассматриваются в этом процессе, тогда как другие элементы, такие как материалы и данные сетки, остаются в списках до тех пор, пока файл не будет закрыт.

Импортёр 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' 

В этом случае любой существующий объект с именем «Объект» будет переименован в суффикс.

+0

Файл .obj может содержать несколько объектов. Как узнать их «реальные» имена после импорта файла? – MyNameIsHans

+1

После импорта файла obj 'bpy.context.selected_objects' будет список только что импортированных объектов, любые предыдущие объекты будут отменены. Переверните этот список и переименуйте их, удалив суффикс. – sambler

+0

Хорошо. Но что, если модель уже содержит суффиксы? Например, потому что это было сделано с блендером? – MyNameIsHans

 Смежные вопросы

  • Нет связанных вопросов^_^