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メソッド以外に、オブジェクトとメッシュ インスタンスの間に明確な関係はありませんでした。
ただし、元の名前を取得する必要があります。誰かにアクセス方法を教えてもらえますか?
前もって感謝します:)