Я пишу экспортер для 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 если честно.
Я заметил, что он создает новый (производный) объект, а затем создает новую сетку (преобразованную и все такое), поэтому я предполагаю, что это потенциальные места, где назначается новое имя.
Я просмотрел документацию, но не увидел четкой связи между объектом и экземпляром меша, кроме метода to_mesh, который, очевидно, создает новый экземпляр меша.
Однако - мне действительно нужно получить оригинальное название. Может кто подскажет, как получить к нему доступ?
Заранее спасибо :) Паксас