экспорт меша из блендера всегда с тем же именем

Я пишу экспортер для 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, который, очевидно, создает новый экземпляр меша.

Однако - мне действительно нужно получить оригинальное название. Может кто подскажет, как получить к нему доступ?

Заранее спасибо :) Паксас


person Piotr Trochim    schedule 04.09.2012    source источник


Ответы (1)


Хорошо - я обошел id (вроде как). Я в основном игнорирую имя меша и называю экспортируемый меш после объекта, в который он встроен.

Это, конечно, работает в предположении, что каждый объект ИМЕЕТ ВЫДЕЛЕННУЮ СЕТЬ, но я дублирую их перед экспортом, так что это действительно так.

Если у кого-то есть лучшее решение, опубликуйте его здесь.

person Piotr Trochim    schedule 05.09.2012