두 개체의 여러 복사본을 만들 수 없음
Sep 04 2020
내 장면에 두 개의 큰 물체가 있습니다.
CAM = a large cone with four sides, more like a camera, made out of scaling a generic cone
Target = a large rectangular object, made out of scaling a simple 4 sided cube
5 개의 사본을 만들려고합니다. 다음 스크립트를 실행하고 있습니다.
import bpy
# getting the objects
context = bpy.context
scene = context.scene
tar = bpy.data.objects['Target']
cam =bpy.data.objects['CAM']
for i in range(5):
# copying the Target object
copied_object = bpy.data.objects.new(str("Target"+str(i)), tar.data)
bpy.data.collections["Collection"].objects.link(copied_object)
# copying the CAM object
copied_object2 = bpy.data.objects.new(str("CAM"+str(i)), cam.data)
bpy.data.collections["Collection"].objects.link(copied_object2)
Target 5 개와 CAM 5 개를받을 것으로 예상하고 있습니다. 하지만 결국 5 개의 기본 큐브와 5 개의 기본 콘 (4면)을 얻었습니다. "Target"과 "CAM"을 다시 만들기 위해 만든 가장 기본적인 개체의 복사본을 제공합니다. 현재 개체의 정확한 복사본을 얻지 못하는 이유는 무엇입니까?
답변
3 batFINGER Sep 04 2020 at 07:18
복사 사용을 원하는 경우 copy()
동일한 개체 수준 속성을 가진 복사본을 얻으려면
copy = ob.copy()
copy.name = f"Target{i}"
컬렉션에 연결합니다. 원본과 동일한 데이터가 연결됩니다.
질문 코드를 사용하면 원본의 데이터 부분만으로 새 일반 jane 기본 설정 개체를 만들기 만하면 원본의 모든 개체 수준 속성이 손실됩니다.
bpy.ops.object.add_named ()를 사용하지 않고 Python API를 통해 2.8에서 객체를 복제하는 방법