Экспорт меша из блендера всегда с тем же именем
Я пишу экспортер для Blender, и у меня возникла небольшая проблема - когда я экспортирую одну и ту же модель несколько раз, экспортируемой сетке всегда присваивается другое имя (добавляется цифровой префикс).
Вот код, который я использую для доступа к сетке, которую я хочу экспортировать:
for ob in bpy.scene.objects:
# get derived objects
free, derived = create_derived_objects(scene, ob)
if derived is None:
continue
for obDerived, mat in derived:
if ob.type not in {'MESH', 'CURVE', 'SURFACE', 'FONT', 'META'}:
continue
try:
derivedBlenderMesh = obDerived.to_mesh( scene, True, 'PREVIEW' )
except:
derivedBlenderMesh = None
if derivedBlenderMesh:
# ... and the export stuff goes here
# once everything's done, I remove the created instance
if free:
free_derived_objects(derivedBlenderMesh)
Я взял это от экспортера 3ds, чтобы быть честным.
Я заметил, что он создает новый (производный) объект, а затем создает новую сетку (преобразованную и все остальное), поэтому я предполагаю, что это потенциальные места, где назначено новое имя.
Я пролистал документацию, но не увидел четкой связи между Object и экземпляром Mesh, кроме как через метод to_mesh, который, очевидно, создает новый экземпляр mesh.
Однако - мне действительно нужно получить оригинальное имя. Может кто-нибудь сказать мне, как получить к нему доступ?
Заранее спасибо:) Пакшас
1 ответ
Хорошо, я ходил вокруг (вроде). Я в основном игнорирую имя меша и называю экспортированный меш после объекта, в который он встроен.
Это, конечно, работает при условии, что каждый объект имеет выделенную сетку, но я дублирую их перед экспортом, так что это действительно так.
Если у кого-то есть лучшее решение, пожалуйста, опубликуйте его здесь.