Blender Append로 가구 불러와 책상 세트 만들기: 입문 12강

Blender 입문 12강에서는 새 가구를 하나 더 만드는 대신 8~11강의 탁상, 협탁, 의자와 책장을 한 장면으로 모읍니다. File → Append로 이전 파일의 모델을 복사하고, 겹친 가구를 정확히 배치한 뒤 이름과 Collection을 정리해 첫 책상 세트를 완성합니다.

불러왔는데 가구가 한곳에 겹치거나 의자가 탁상보다 높다면, 파일이 잘못된 걸까요? 먼저 불러온 방식과 원본의 크기를 나눠 확인해야 합니다. Collection은 정리함이고, 가구 전체의 위치·크기를 움직이는 Transform 부모는 아닙니다. 부품을 모두 선택한 다음 함께 조정하는 순서가 중요합니다.

확인 범위: 공식 자료를 대조하고 Codex가 맥미니의 Blender 5.2.0 LTS에서 앞선 강좌의 치수로 별도 테스트 파일 네 개를 만들었습니다. Python의 Append 연산, 치수·배치, 저장 후 재열기를 확인한 결과입니다. 필자의 직접 실습이나 실제 마우스·단축키 조작 기록으로 소개하지 않습니다. 사용자 원본 파일과 기존 렌더를 이번에 직접 시험한 것도 아닙니다.

이번 강의에서 완성할 결과

탁상 협탁 의자 책장을 함께 배치한 Blender 책상 세트 완성 렌더
기존 책상 세트의 디자인 참고 렌더입니다. 의자·책장 치수는 아래 보완 절차와 다르며 이번 검증 결과 이미지가 아닙니다. 재질·조명·렌더 설정은 다음 과정에서 다룹니다.

탁상 앞에 의자를 두고 오른쪽에는 협탁, 왼쪽 뒤에는 책장을 배치합니다. 앞선 강좌 치수를 그대로 쓴다면 의자는 먼저 전체를 0.5배로 줄이고, 책장은 기존 안내보다 왼쪽으로 더 옮깁니다. 화면에는 네 종류의 가구가 모두 보이지만 Outliner에서는 01_Desk, 02_Nightstand, 03_Chair, 04_Bookcase Collection으로 나뉩니다. 각 부품의 Scale은 1.000을 유지합니다.

시작 전에 이전 강의 파일을 확인하세요

다음 네 파일을 한 폴더에 모아 두면 File Browser에서 찾기 쉽습니다.

  • 8강: blender-lesson-08-table.blend
  • 9강: blender-lesson-09-nightstand.blend
  • 10강: blender-lesson-10-chair.blend
  • 11강: blender-lesson-11-bookcase.blend
  1. Blender에서 File → New → General을 클릭합니다.
  2. 새 기본 장면인지 확인한 뒤 마우스를 3D Viewport에 두고 A → X → Delete로 기본 Cube·Camera·Light를 모두 삭제합니다. 기존 작업 파일에서 실행하지 않습니다.
  3. File → Save As를 클릭해 blender-lesson-12-desk-set.blend로 먼저 저장합니다.
  4. Viewport에서 N을 눌러 Sidebar를 열고, 왼쪽 위가 Object Mode인지 확인합니다.
  5. Scene Properties → Units에서 Metric·Unit Scale 1·Length Meters로 맞춥니다. Collection만 Append한다고 원본 파일의 Scene 단위·렌더 설정까지 가져오는 것은 아닙니다.

원본 8~11강 파일은 열어서 덮어쓰지 않고 새 파일에 복사합니다. File → Append는 모델 데이터를 현재 파일로 가져오므로 위치·메시를 바꾸어도 원본 .blend는 바뀌지 않습니다. 반대로 원본 모델을 나중에 수정해도 현재 복사본이 자동 갱신되지는 않습니다. 외부 텍스처 이미지는 파일 경로를 참조할 수 있으므로 이미지 파일 자체를 덮어쓰는 일은 별개입니다.

1단계: File → Append로 탁상 불러오기

  1. 상단 File → Append를 클릭합니다.
  2. blender-lesson-08-table.blend를 찾아 더블클릭합니다.
  3. 파일 안의 Collection 폴더를 더블클릭합니다.
  4. 가구 모델이 들어 있는 Collection을 선택합니다. File Browser의 옵션에서 Instance Collections는 끕니다. 이번 과정은 Empty 한 개로 표시되는 Collection 인스턴스가 아니라, 내부 부품을 직접 선택할 수 있는 복사본을 사용합니다. Append를 클릭합니다.
  5. Outliner에서 방금 들어온 Collection을 선택하고 이름을 01_Desk로 바꿉니다.

Camera·Light·Floor까지 들어왔다면 Outliner에서 방금 불러온 Collection 안을 펼쳐 실제 오브젝트 유형과 화면을 확인한 뒤 촬영용 항목만 삭제합니다. 이름 검색 결과를 한꺼번에 지우지 마세요. 탁상은 상판 한 개와 다리 네 개, 총 다섯 Mesh가 남아야 합니다.

2단계: 협탁·의자·책장을 같은 방법으로 불러오기

  1. File → Append로 blender-lesson-09-nightstand.blend를 열고 모델 Collection을 Append합니다.
  2. 새 Collection 이름을 02_Nightstand로 바꿉니다.
  3. blender-lesson-10-chair.blend에서 의자 Collection을 Append하고 03_Chair로 바꿉니다.
  4. blender-lesson-11-bookcase.blend에서 책장 Collection을 Append하고 04_Bookcase로 바꿉니다.
  5. Outliner에 네 Collection이 모두 있는지 확인합니다.

Append할 때 Object 폴더로 들어가 부품을 하나씩 고르면 빠뜨리기 쉽습니다. 이번 실습에서는 Collection 단위로 불러옵니다. 같은 이름이 있으면 Collection.001처럼 번호가 붙을 수 있지만, 번호만 보고 중복 가구라고 판단하면 안 됩니다. 서로 다른 파일의 같은 Collection 이름에도 번호가 붙습니다. 불러온 내용부터 확인하고 이름을 바꾸세요. 앞선 보완 강좌의 기본 구성은 탁상 5개·협탁 2개·의자 3개·책장 5개, 총 15 Mesh입니다. 파일을 따로 수정했다면 개수도 달라질 수 있습니다.

가구가 원점에서 겹치는 것은 정상입니다

Append한 가구가 원점에서 겹치고 Furniture Set Collection이 보이는 화면
기존 겹침 상태 참고 화면입니다. Furniture_Set까지 정리된 상태이며 선택한 의자의 치수도 현재 보완 절차와 다릅니다. 불러온 직후의 정확한 수치 증거로 사용하지 않습니다.

이전 강의 모델은 대부분 월드 원점 부근에서 만들었기 때문에 네 Collection을 Append하면 처음에는 서로 겹칠 수 있습니다. 파일이 손상된 것이 아닙니다. 이 상태에서 부품 하나씩 무작정 끌지 말고, Outliner에서 해당 Collection의 모든 오브젝트를 선택해 가구 전체를 함께 이동합니다.

이미 한 부품을 따로 움직였다면 즉시 Command + Z로 되돌리세요. 되돌릴 수 없다면 먼저 아래의 중복·삭제 안내를 확인하고 해당 가구의 Collection과 부품만 정리한 뒤 다시 Append합니다. 새 파일에 이미 들어온 내용을 확인하지 않고 재호출하면 중복이 생길 수 있습니다.

3단계: Collection의 모든 오브젝트를 한 번에 선택하기

  1. Object Mode에서 마우스를 Viewport에 두고 Alt + A 또는 Select → None으로 기존 선택을 먼저 해제합니다.
  2. Outliner에서 01_Desk Collection을 마우스 오른쪽 버튼으로 클릭합니다.
  3. Select Objects를 클릭합니다. Viewport에서 상판과 다리 전체가 주황색으로 보여야 합니다.
  4. 마우스를 Viewport로 옮기고 G를 누르면 선택한 가구 전체가 함께 움직입니다.
  5. 이동 중 Esc를 누르면 취소되고, 마우스 오른쪽 버튼도 이동을 취소합니다.
  6. 나머지 세 Collection도 같은 방식으로 전체 선택이 되는지 한 번씩 확인합니다.

Outliner에서 Collection 이름만 파란색이 된 상태와 내부 오브젝트가 선택된 상태는 다릅니다. Select Objects 뒤에는 해당 가구의 모든 부품이 선택됐고 다른 가구는 선택되지 않았는지 확인합니다. 활성 부품은 노란색, 나머지 선택 부품은 주황색으로 보일 수 있습니다. 숨긴 부품·선택 금지·꺼진 하위 Collection이 있으면 먼저 풀고 내부 항목도 확인하세요. 가구를 바꿀 때마다 기존 선택을 해제합니다.

4단계: 의자 크기를 먼저 맞추고 가구 배치하기

10강 치수 그대로라면 의자 좌면 중심 Z는 2.18m이고, 8강 탁상 상판 위쪽은 1.71m입니다. 이 상태는 의자가 너무 높습니다. 배치하기 전, 원점에 있는 의자 전체를 0.5배로 줄이면 좌면 중심은 1.09m, 위쪽은 1.16m가 되어 상판 아래쪽 1.49m보다 낮아집니다.

  1. 기존 선택을 해제하고 03_Chair의 세 부품을 모두 선택합니다. 의자는 아직 X/Y/Z로 이동하지 않은 원본 위치여야 합니다.
  2. N Sidebar → View → 3D Cursor에서 Location X/Y/Z를 모두 0으로 맞춥니다. 이는 의자 Location을 0으로 바꾸는 조작이 아닙니다.
  3. Viewport 상단 Transform Pivot Point → 3D Cursor를 선택합니다. Individual Origins를 쓰면 부품 위치는 그대로이고 각각만 작아져 의자가 벌어질 수 있습니다.
  4. Viewport에서 S → 0.5 → Enter로 전체를 줄인 뒤 Control + A → Scale을 실행합니다. Apply Location은 실행하지 않습니다.
  5. 각 부품의 Bevel Amount도 비례하게 맞춥니다. 좌면·등받이는 0.035m, Mirror가 있는 프레임은 0.0175m입니다. Mirror → Bevel 순서를 유지합니다.
  6. Pivot을 Median Point로 되돌립니다. 좌면의 Location Z 1.09m·Dimensions 1.3 × 1.2 × 0.14m, 각 부품 Scale 1을 확인합니다.

이미 크기나 원점을 다르게 만든 의자라면 0.5배를 무조건 다시 적용하지 않습니다. 위 결과 치수와 바닥 위치를 대조하세요. 아래 입력은 앞선 강좌의 기본 원점·치수로 돌아온 모델에 한 번만 적용하는 이동량입니다.

  1. Numpad 7 또는 View → Viewpoint → Top으로 Top View를 엽니다. 각 가구로 바꿀 때마다 기존 선택을 해제하고 해당 Collection 전체를 선택합니다.
  2. 01_Desk의 모든 오브젝트를 선택하고 G, X, -0.4, Enter를 누른 뒤 G, Y, 0.6, Enter를 누릅니다.
  3. 02_Nightstand 전체를 선택하고 G, X, 2.55, Enter, 이어서 G, Y, 0.7, Enter를 누릅니다.
  4. 03_Chair 전체를 선택하고 G, X, -0.4, Enter, 이어서 G, Y, -1.8, Enter를 누릅니다.
  5. 04_Bookcase 전체를 선택하고 G, X, -4.0, Enter, 이어서 G, Y, 1.65, Enter를 누릅니다.

숫자는 최종 Location이 아니라 원본 위치에서 더하는 이동량입니다. 같은 키 입력을 두 번 실행하면 두 번 이동합니다. N Sidebar의 Location X/Y를 모든 부품에 같은 값으로 덮어쓰면 부품이 겹칠 수 있습니다.

별도 재현에서 탁상은 X -2.0~1.2, 책장은 X -5.79~-2.21 범위에 놓여 옆으로 0.21m가 떨어졌습니다. 기존 책장 이동량 -3.65에서는 탁상과 바닥면 방향의 외곽 범위가 겹쳐 -4.0으로 보완했습니다. 네 가구의 외곽 범위가 겹치지 않는지 Top View에서 확인하세요. 이전 강좌의 모델을 이미 다른 위치로 옮겼다면 이번 고정 이동량의 조건에 맞지 않습니다.

5단계: Front View에서 바닥 높이 검산하기

  1. Numpad 1 또는 View → Viewpoint → Front로 앞에서 봅니다. 필요한 경우 Right View도 확인합니다.
  2. 가구의 가장 아래쪽 형상이 월드 Z=0에 닿는지 봅니다. 이 안내의 초기 치수와 X/Y 이동만 적용했다면 네 가구의 바닥은 Z=0으로 유지됩니다.
  3. Location Z는 오브젝트 원점의 높이입니다. 상판 Location Z 1.6m나 협탁 몸체 Z 1.15m가 표시돼도 바닥이 떠 있다는 뜻은 아닙니다.
  4. 다른 파일의 모델이 떠 있다면 해당 가구 전체를 선택한 뒤 G → Z로 함께 옮깁니다. 예를 들어 실제 맨 아래 형상이 Z=0.2m라면 이동량은 -0.2m입니다. 한 부품의 Location Z를 모두 0으로 덮어쓰지 않습니다.

Origin 높이와 형상의 최저점을 혼동하지 않는 것이 핵심입니다. 임의로 Z를 바꿨다면 실행 직후 취소하거나 되돌리고, 가구 전체 선택부터 다시 확인하세요.

6단계: Scale과 Modifier 상태 점검하기

  1. 각 Collection을 펼쳐 상판, 다리, 몸체, 선반 같은 대표 오브젝트를 하나씩 선택합니다.
  2. N Sidebar에서 Scale X/Y/Z가 모두 1.000인지 확인합니다.
  3. Scale이 1이 아니면 앞 단계에서 크기를 바꾼 이유부터 확인합니다. 의도한 크기 조정에 한해 Control + A → Scale을 실행하고 Modifier 효과도 다시 확인합니다. 모양이 틀린 상태를 Apply Scale만으로 해결하려 하지 않습니다.
  4. 10강 의자 프레임에는 Mirror Modifier가 남아 있는지 확인합니다.
  5. 11강 Shelf_Array_Source의 기존 방식 Array는 Fixed Count 4, Relative Offset X 0·Y 0·Z 10, Constant·Object Offset 꺼짐인지 확인합니다. Bevel → Array 순서를 유지합니다. Array를 켠 Dimensions Z는 원본 두께 0.12m가 아니라 네 장 전체 높이 3.72m입니다.

Apply Scale은 기본 메시의 보이는 크기를 유지하며 Scale을 1로 바꾸지만, Bevel처럼 Scale의 영향을 받는 Modifier 결과는 달라질 수 있습니다. 그래서 의자의 Bevel Amount를 별도로 맞췄습니다. 하지만 Mirror나 Array 결과가 이미 원하는 모양과 다르다면 Scale부터 무작정 적용하지 말고, 원본 파일의 Dimensions와 Modifier 값을 먼저 대조하세요.

7단계: Furniture_Set 아래에 네 Collection 정리하기

  1. Outliner 빈 곳에서 마우스 오른쪽 버튼을 누르고 New Collection을 클릭합니다.
  2. 새 Collection 이름을 Furniture_Set으로 바꿉니다.
  3. 다른 Outliner 항목이 함께 선택돼 있지 않은지 확인한 뒤 01_Desk 하나를 드래그해 Furniture_Set 위에 놓습니다. Ctrl을 누르지 않습니다. Ctrl 드래그는 이동 대신 다른 부모 Collection에도 연결하는 동작입니다.
  4. 02_Nightstand, 03_Chair, 04_Bookcase도 같은 방식으로 안에 넣습니다.
  5. Furniture_Set 왼쪽 삼각형을 접었다 펼쳐 네 하위 Collection이 보이는지 확인합니다.

Collection은 오브젝트를 논리적으로 묶어 찾기 쉽게 만드는 정리 단위입니다. 부모-자식 Transform처럼 가구의 위치가 자동으로 따라 움직이는 기능은 아닙니다. 전체 가구를 이동할 때는 여전히 해당 Collection을 마우스 오른쪽 버튼으로 클릭해 Select Objects를 실행해야 합니다.

8단계: 이름을 보고 부품을 찾을 수 있게 정리하기

Outliner에서 Cube.001, Cube.017처럼 역할을 알 수 없는 이름이 남아 있으면 대표 부품부터 바꿉니다. 예를 들어 Desk_Top, Nightstand_Drawer, Chair_Seat, Bookcase_Back, Shelf_Array_Source처럼 가구와 역할을 함께 적습니다.

  1. Outliner 검색창에 Cube를 입력합니다.
  2. 검색된 오브젝트를 하나씩 클릭해 Viewport 위치를 확인합니다.
  3. 이름을 더블클릭해 역할이 드러나는 영문 이름으로 바꿉니다.
  4. 검색창의 X를 눌러 전체 목록으로 돌아옵니다.
  5. File → Save로 저장합니다.

Append와 Link 중 이번에는 왜 Append를 쓸까?

Append는 원본 .blend의 데이터를 현재 파일로 복사하므로 불러온 모델을 자유롭게 수정할 수 있습니다. Link는 원본 파일을 참조하므로 원본 변경을 여러 장면에 반영하기 좋지만, 연결된 데이터는 기본적으로 현재 파일에서 직접 편집하기 어렵습니다. 처음 책상 세트를 조립하고 다음 강의에서 재질을 바꿀 이번 과정에는 Append가 더 단순합니다.

문제가 생겼을 때 확인할 순서

Append했는데 아무것도 보이지 않습니다

  1. Outliner에 새 Collection이 생겼는지 확인합니다.
  2. Collection을 마우스 오른쪽 버튼으로 클릭하고 Select Objects를 실행합니다.
  3. 눈·모니터 아이콘, View Layer 제외 체크와 하위 Collection의 숨김 상태부터 확인합니다. 선택 후 View → Frame Selected 또는 Numpad 점으로 화면을 맞춥니다.
  4. 눈 아이콘이 꺼졌다면 다시 켭니다.
  5. Empty 한 개만 생겼다면 Instance Collections 옵션을 확인합니다. 이미 가져온 Collection이 있는 경우 가시성·인스턴스 상태를 먼저 해결하고, 실제 데이터가 없는 경우에만 Collection 폴더에서 다시 Append합니다.

가구 한 부품만 떨어져 나갔습니다

  1. 방금 이동했다면 Command + Z를 한 번 누릅니다.
  2. Outliner에서 해당 가구 Collection을 마우스 오른쪽 버튼으로 클릭합니다.
  3. Select Objects를 실행해 모든 부품을 선택합니다.
  4. G와 축 키, 숫자를 입력해 전체를 다시 이동합니다.
  5. 복구가 어렵다면 다른 가구의 항목이 선택되지 않은지 확인하고 해당 가구 Collection을 오른쪽 클릭해 Delete Hierarchy로 Collection과 내부 부품을 함께 정리한 뒤 다시 Append합니다. 다른 Collection에도 속한 공유 부품은 삭제되지 않을 수 있으므로 목록을 확인합니다.

같은 가구가 두 세트 보입니다

Append를 두 번 실행했을 가능성이 큽니다. Outliner에서 이름 끝에 .001이 붙은 Collection을 펼쳐 내용이 중복인지 확인하세요. 번호만으로 중복을 판단하지 말고 부품 구성과 실제 위치를 대조합니다. 중복이 확실한 가구 Collection만 Delete Hierarchy로 정리하고 원본 세트는 남깁니다. Collection의 일반 Delete와 내부 부품까지 처리하는 Delete Hierarchy를 구분하세요.

Collection을 옮겼더니 모델이 사라졌습니다

Outliner의 눈 아이콘과 모니터 아이콘을 확인하세요. Furniture_Set이나 하위 Collection의 표시가 꺼지면 내부 오브젝트가 모두 숨겨집니다. View Layer 제외 체크와 하위 Collection도 확인한 뒤 마우스를 3D Viewport에 두고 View → Frame All 또는 Home으로 전체 장면을 맞춥니다. Outliner 위에서 Home을 누르는 동작과 다릅니다.

12강 완료 기준

  • 새 파일에 탁상, 협탁, 의자, 책장이 모두 보입니다.
  • Top View에서 네 가구가 겹치지 않고 의자는 탁상 앞에 있습니다.
  • Front 또는 Side View에서 가구가 바닥 아래로 내려가거나 공중에 떠 있지 않습니다.
  • 각 가구 부품의 Scale X/Y/Z가 1입니다. 의자 좌면 중심은 Z 1.09m이며 네 가구의 최저 형상은 Z=0입니다.
  • 의자의 Mirror와 책장의 Array Modifier가 유지됩니다.
  • Furniture_Set 아래에 01_Desk, 02_Nightstand, 03_Chair, 04_Bookcase가 있습니다.
  • 역할을 알 수 없는 Cube 이름을 대표 부품부터 정리했습니다.
  • blender-lesson-12-desk-set.blend를 저장했습니다.

응용 과제: 배치를 바꾸어 비교하기

Top View에서 협탁을 탁상 왼쪽으로 옮기고 책장을 오른쪽 벽 쪽으로 이동해 보세요. 가구 Collection 전체를 선택해 움직이고, 가구의 외곽 범위가 다시 겹치지 않는지 확인합니다. 이 모델은 조작 연습용 치수이며 실제 가구 제작 규격이나 통로 폭을 검증한 자료는 아닙니다. 위치가 마음에 들지 않으면 Esc 또는 Command + Z로 복구하고, 기존 배치와 새 배치를 다른 파일명으로 저장해 비교하세요.

다음 13강에서 배울 내용

13강부터는 형태가 아니라 표면을 다룹니다. 이번 Furniture_Set에 나무, 금속, 플라스틱 재질을 만들고 Principled BSDF의 Base Color, Metallic, Roughness가 같은 조명에서 어떻게 다르게 보이는지 비교합니다.

검증 결과와 공식 자료

2026년 10월 13일, Blender 5.2.0 LTS의 별도 파일에서 앞선 강좌 치수의 테스트 모형을 만들고 bpy.ops.wm.append로 Collection을 가져왔습니다. 의자 0.5배 조정 후 좌면 높이, 바닥 Z=0, 네 가구 외곽 범위의 분리, Mirror·Array 유지, Furniture_Set 하위 정리, 저장 후 15 Mesh 재열기를 확인했습니다. 원본 테스트 파일의 바이트도 변경되지 않았습니다. 협탁은 배치에 필요한 외곽 형상과 손잡이를 사용했으며, 이 검증에서 Loop Cut·Inset을 다시 실습하지는 않았습니다. 실제 메뉴 선택·드래그·키보드 입력을 시험한 기록과는 구분합니다.