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

Я пишу экспортер для 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 ответ

Решение

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

Это, конечно, работает при условии, что каждый объект имеет выделенную сетку, но я дублирую их перед экспортом, так что это действительно так.

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

Другие вопросы по тегам