Come posso duplicare un oggetto con mesh indipendenti? [duplicare]

Jan 21 2021

Sto cercando di duplicare un oggetto mesh usando Python. Dopo la duplicazione provo a cambiare la trama dell'oggetto duplicato, ma cambia anche la trama dell'oggetto originale.

Sembra che entrambi gli oggetti abbiano la stessa maglia. Come posso duplicare anche la mesh?

Ecco un po 'di codice:

>>> obj1 = bpy.data.objects['Cube']
>>> obj2 = obj1.copy()
>>> bpy.context.collection.objects.link(obj2)
>>> obj1.location = Vector((3,0,0))
>>> obj2.animation_data_clear()
>>> ve = obj2.data.vertices[0]
>>> ve.co = ve.co*2

Risposte

1 HariSreedhar Jan 21 2021 at 20:49

Dovresti copiare i dati dell'oggetto.

obj1 = bpy.data.objects['Cube']
data = obj1.data.copy()
obj2 = obj1.copy()
obj2.data = data
bpy.context.collection.objects.link(obj2)
obj1.location = Vector((3,0,0))
obj2.animation_data_clear()
ve = obj2.data.vertices[0]
ve.co = ve.co*2