我正在为 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方法之外,我没有看到 Object 和 Mesh 实例之间的明确关系,这显然会创建一个新的网格实例。
但是 - 我真的需要得到原来的名字。有人可以告诉我如何访问它吗?
在此先感谢:)