Jak mogę powielić obiekt z niezależnymi siatkami? [duplikować]
Próbuję zduplikować obiekt siatki za pomocą języka Python. Po powieleniu próbuję zmienić siatkę powielonego obiektu, ale siatka oryginalnego obiektu również się zmienia.
Wygląda na to, że oba obiekty mają tę samą siatkę. Jak mogę również zduplikować siatkę?
Oto kod:
>>> 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
Odpowiedzi
1 HariSreedhar
Powinieneś skopiować dane obiektu.
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