19강에서는 12강에서 만든 책상·의자·협탁·책장을 18강의 방으로 가져와 실제 방처럼 배치합니다. File → Append로 다른 Blender 파일의 가구를 복사하고, Empty 부모로 여러 부품을 한꺼번에 움직인 뒤, Snap과 N 패널의 정확한 값으로 벽·바닥에 맞춥니다. 마지막에는 Outliner를 방·가구·조명으로 나누어 다음 강의의 낮·밤 조명 작업을 준비합니다.
이 강좌는 Mac mini M2 Pro와 macOS Sonoma 환경의 Blender 5.2.0에서 운영자가 직접 실습하고 화면을 캡처해 작성했습니다. AI는 학습 순서, 설명 구성과 화면 표시 편집을 보조했으며, 입력값과 결과는 공개 전에 다시 확인했습니다. 전체 과정은 Blender 초급 24강 목차에서 순서대로 볼 수 있습니다.
완성 화면에는 창 아래 책상, 책상 앞 의자, 오른쪽 협탁, 왼쪽 벽 책장이 남아야 합니다. 문이 열리는 자리를 가구가 막지 않고, 네 가구의 부품은 각각 부모 Empty를 선택했을 때 함께 움직여야 합니다. 단순히 보기 좋게 놓는 것이 아니라 다시 움직이기 쉬운 장면으로 정리하는 것이 이번 강의의 목표입니다.
시작하기 전에 준비할 두 파일
이번 실습은 앞 강의의 결과를 그대로 이어갑니다. 먼저 18강에서 문·창문·걸레받이를 완성한 방 파일을 엽니다. 가구는 12강에서 정리한 책상 세트 파일에서 가져옵니다. 두 파일을 직접 만들었다면 여러분의 저장 파일을 사용하면 되고, 이름이 조금 달라도 가구를 구성하는 오브젝트를 구분할 수 있으면 됩니다.
- 18강 방 파일을 연 상태에서 File → Save As를 누릅니다.
- 파일 이름을
blender-lesson-19-furnished-room.blend로 바꾸어 새 파일로 저장합니다. - 화면 왼쪽 위 모드가 Object Mode인지 확인합니다. Edit Mode에서는 Append 메뉴를 사용할 수 없습니다.
- Outliner에서 문·창문·벽이 정상적으로 보이는지 확인합니다.
원본 18강 파일을 바로 덮어쓰지 않는 이유는 간단합니다. 가구 배치가 꼬였을 때 방만 완성된 상태로 안전하게 돌아갈 수 있기 때문입니다. 저장이 끝났다면 지금부터는 19강 파일에서 작업합니다.
1단계: Link가 아니라 Append로 가구 가져오기
상단 메뉴에서 File → Append를 누릅니다. 파일 탐색기에서 12강의 blender-lesson-12-desk-set.blend를 선택하면 일반 폴더처럼 Object, Collection, Material 등의 항목이 나타납니다. 여기서 Collection을 열고 다음 네 컬렉션을 선택합니다.
01_Desk: 상판과 다리로 구성된 책상02_Nightstand: 본체·서랍·손잡이가 있는 협탁03_Chair: 좌판·등받이·다리가 있는 의자04_Bookcase: 옆판·뒷판·선반이 있는 책장
여러 항목은 Shift를 누른 채 클릭해 함께 선택하고, 오른쪽 아래의 Append 버튼을 누릅니다. Blender 공식 설명처럼 Append는 다른 blend 파일의 데이터 블록을 현재 파일로 복사하므로 가져온 가구를 자유롭게 수정할 수 있습니다. 원본 파일의 변경을 계속 따라가는 Link와 목적이 다릅니다. 자세한 차이는 Blender 5.2 LTS Link & Append 설명에서도 확인할 수 있습니다.

Append 직후 가구가 방 중앙에 겹쳐 보여도 실패가 아닙니다. 원본 파일에 저장되어 있던 위치가 함께 복사되었기 때문입니다. Outliner에 네 가구 컬렉션이 생겼고 오브젝트가 보인다면 가져오기는 성공입니다. 이 단계에서는 가구 부품을 하나씩 움직이지 마세요. 먼저 여러 부품을 한 번에 다룰 부모를 만듭니다.
2단계: 가구마다 Empty 부모 만들기
책상은 상판 하나와 다리 네 개로 나뉘어 있습니다. 상판만 잡고 옮기면 다리는 제자리에 남습니다. 이 문제를 막기 위해 눈에 보이지 않는 조종 손잡이인 Empty를 부모로 사용합니다. Blender의 부모 관계는 부모의 이동·회전·크기를 자식들이 함께 물려받는 구조입니다.
책상 그룹 만들기
- Outliner에서
01_Desk를 펼칩니다. - 책상 상판 하나와 다리 네 개를 모두 선택합니다. 첫 항목 클릭 후 마지막 항목을 Shift+클릭하면 연속 선택할 수 있습니다.
- 3D Viewport에 마우스를 두고 Shift+S → Cursor to Selected를 누릅니다. 3D Cursor가 책상 부품의 가운데로 이동합니다.
- Shift+A → Empty → Cube를 누릅니다. 작은 선 상자 모양의 Empty가 생깁니다.
- F2를 눌러 이름을
Desk_Group으로 바꿉니다. - 책상 부품을 다시 모두 선택하고 마지막에 Empty를 Shift+클릭합니다. Empty가 밝은 주황색인 활성 오브젝트여야 합니다.
- Ctrl+P → Object (Keep Transform)을 선택합니다.
Keep Transform은 부모를 지정하는 순간 자식 부품이 다른 위치로 튀는 것을 막습니다. 공식 Blender Parenting Objects 문서에서도 현재 월드 위치·회전·크기를 유지하기 위한 선택으로 설명합니다. 같은 방법으로 Chair_Group, Nightstand_Group, Bookcase_Group도 만듭니다.
바로 확인해 보세요. 책상 Empty만 선택하고 G를 살짝 눌러 움직였을 때 상판과 네 다리가 함께 움직이면 정상입니다. Esc를 눌러 이동을 취소합니다. 상판만 움직였다면 Ctrl+Z로 돌아간 뒤, 자식 부품을 먼저 선택하고 Empty를 마지막에 선택했는지 다시 확인합니다.
3단계: 가구 크기를 실제 방에 맞추기
12강 가구는 기본 조작을 크게 보이게 만들었던 연습 모델이라 6×4.5m 방에 그대로 넣으면 지나치게 큽니다. 자식 부품을 하나씩 줄이지 말고 부모 Empty의 Scale을 바꿉니다. 그러면 부품 사이 간격과 비율이 유지됩니다.
| 선택할 부모 | Location X, Y, Z | Rotation Z | Scale X, Y, Z |
|---|---|---|---|
| Desk_Group | 0.25, 1.45, 0 | 0° | 0.29, 0.29, 0.29 |
| Chair_Group | 0.25, 0.55, 0 | 0° | 0.32, 0.32, 0.32 |
| Nightstand_Group | 1.48, 1.48, 0 | 0° | 0.35, 0.35, 0.35 |
| Bookcase_Group | -2.69, 0.65, 0 | 90° | 0.55, 0.55, 0.55 |
값을 넣는 방법은 네 그룹 모두 같습니다. Outliner에서 부모 Empty를 선택하고 N을 눌러 오른쪽 Transform 패널을 엽니다. Location, Rotation, Scale의 X·Y·Z 입력칸을 차례로 클릭해 표의 값을 입력한 뒤 Enter를 누릅니다. 부품 Mesh가 아니라 이름 끝이 _Group인 Empty를 선택해야 합니다.

책상은 창 아래 뒤쪽 벽 가까이에 놓입니다. 화면의 빨간 표시에서 Location X 0.25m, Y 1.45m를 확인하고, 노란 표시에서 Scale 세 축이 모두 0.290인지 확인합니다. 한 축만 0.29이고 나머지가 1이라면 책상이 찌그러지므로 X·Y·Z를 모두 같은 값으로 맞춥니다.
4단계: Snap으로 바닥과 벽에 붙인 뒤 숫자로 검산하기
상단 헤더의 자석 아이콘을 클릭해 Snap을 켭니다. 자석 오른쪽 화살표를 열어 Snap To를 Face, Snap Base를 Closest로 설정합니다. 이제 G로 가구를 움직일 때 가까운 면에 붙는 느낌을 확인할 수 있습니다. Snap의 목적은 대략적인 배치를 빠르게 만드는 것이고, 마지막 정확도는 N 패널의 숫자로 확인합니다.

Chair_Group을 선택합니다.- G를 누르고 의자를 책상 앞쪽으로 움직입니다. 바닥 아래로 내려가거나 책상과 겹치지 않게 놓습니다.
- N 패널에서 Location을 X 0.25m, Y 0.55m, Z 0m로 입력합니다.
- Scale 세 축이 0.320인지 확인합니다.
- Numpad 1 정면, Numpad 3 측면으로 바꾸어 의자 다리가 바닥 위에 있고 좌판이 책상 상판 아래에 들어가는지 봅니다.
Z가 0인데 가구가 떠 있다면 Empty의 원점이 바닥에 있지 않은 경우입니다. 이때 숫자만 고집하지 말고 G, Z로 아래로 움직이면서 Ctrl을 눌러 바닥 면에 Snap합니다. 반대로 바닥 안으로 들어갔다면 Ctrl+Z로 돌아가고 Snap To가 Vertex가 아니라 Face인지 확인합니다.
5단계: 책장을 왼쪽 벽으로 돌려 세우기
책장은 뒤쪽 벽이 아니라 왼쪽 벽에 붙입니다. Bookcase_Group을 선택하고 N 패널에서 Location X -2.69m, Y 0.65m, Z 0m를 입력합니다. Rotation Z에는 90°를 입력하고 Scale 세 축은 0.55로 맞춥니다.

책장의 선반이 방 안쪽을 향하면 정상입니다. 평평한 뒷판만 보인다면 방향이 반대입니다. R, Z, 180, Enter를 눌러 180° 뒤집거나 Rotation Z를 -90°로 바꾸어 앞면이 방을 향하게 합니다. 왼쪽 벽을 뚫고 나간다면 X를 -2.69보다 조금 큰 -2.65 정도로 바꾸고, 측면 보기에서 벽과의 간격을 확인합니다.
문 옆에 책장을 놓을 때는 열린 문과 겹치지 않는지도 확인해야 합니다. 문을 선택하고 R, Z로 열고 닫아 보면서 책장과 부딪히지 않으면 됩니다. 확인이 끝나면 Esc로 회전을 취소하거나 원래 -28° 값으로 되돌립니다.
6단계: 협탁을 책상 옆에 놓고 동선 확인하기
Nightstand_Group을 선택하고 Location X 1.48m, Y 1.48m, Z 0m, Scale 0.35를 입력합니다. 협탁은 책상 오른쪽에 두되 서랍 앞쪽에 손이 들어갈 여유가 보여야 합니다. 책상 다리와 겹치면 X를 0.05m씩 늘려 1.53 또는 1.58로 조정합니다.
이제 Numpad 7로 위에서 내려다봅니다. 문에서 방 중앙으로 들어오는 길, 의자를 뒤로 빼는 자리, 책상과 협탁 사이가 모두 막히지 않아야 합니다. 예쁜 정면 화면만 보고 끝내면 가구가 실제로 겹친 것을 놓치기 쉽습니다. 정면·측면·위쪽 세 방향에서 한 번씩 확인하세요.

왼쪽은 Append 직후 가구가 중앙에 겹친 상태이고, 오른쪽은 벽과 이동 경로에 맞춰 정리한 상태입니다. 시작과 끝의 차이가 분명해야 이번 강의가 완료된 것입니다.
7단계: Collection을 방·가구·조명으로 정리하기
부모와 Collection은 역할이 다릅니다. 부모 Empty는 여러 부품을 함께 이동·회전·확대하기 위한 관계이고, Collection은 Outliner에서 오브젝트를 분류하고 표시 여부를 관리하기 위한 폴더입니다. Blender는 Collection을 계층적으로 중첩해 복잡한 장면을 정리할 수 있습니다. 자세한 개념은 Blender Collections 공식 설명에서 확인할 수 있습니다.
- Outliner의 빈 곳에서 마우스 오른쪽 버튼 → New Collection을 누르고
01_ROOM을 만듭니다. - 같은 방법으로
02_FURNITURE,03_LIGHTS_CAMERA를 만듭니다. - 바닥·벽·문·창문·걸레받이를 선택하고 M →
01_ROOM으로 옮깁니다. - 네 가구 Collection 또는 가구 부모와 자식들을
02_FURNITURE아래로 옮깁니다. - Camera와 Area·Sun 조명을 선택하고 M →
03_LIGHTS_CAMERA로 옮깁니다.

Outliner에서 02_FURNITURE 옆 삼각형을 접었다 펼쳤을 때 가구가 한곳에 모이면 정상입니다. 눈 아이콘을 끄면 가구만 숨겨지고 방은 남아야 합니다. 가구가 같이 사라지지 않는다면 빠진 오브젝트를 선택해 M으로 02_FURNITURE에 옮깁니다.
자주 생기는 문제와 실제 복구 순서
Append를 두 번 눌러 가구가 중복되었다
방금 발생했다면 Ctrl+Z를 한 번 누릅니다. 시간이 지난 뒤 발견했다면 Outliner에서 이름 끝에 .001이 붙은 새 Collection이나 오브젝트를 확인하고, 중복된 것만 선택해 X → Delete를 누릅니다. 원래 가구까지 함께 지우지 않도록 삭제 전에 눈 아이콘으로 한 번 숨겨 확인합니다.
부모를 지정하자 부품이 갑자기 이동했다
Ctrl+Z로 부모 지정을 취소합니다. 자식 부품을 먼저 선택하고 Empty를 마지막에 Shift+클릭해 활성 오브젝트로 만든 다음 Ctrl+P → Object (Keep Transform)을 선택합니다. Object Properties의 Parent 입력칸만 직접 바꾸면 Parent Inverse가 달라져 위치가 튈 수 있으므로 초보 단계에서는 Ctrl+P 메뉴를 이용하는 편이 안전합니다.
가구 한 부분만 움직인다
상판이나 좌판 같은 Mesh를 선택한 상태입니다. Esc로 이동을 취소하고 Outliner에서 Desk_Group 또는 해당 가구의 _Group Empty를 선택합니다. G를 눌렀을 때 모든 부품에 주황색 외곽선이 함께 움직이는지 확인합니다.
Snap을 켰는데 벽이나 바닥에 붙지 않는다
상단 자석이 파란색인지, Snap To가 Face인지 확인합니다. Snap은 G로 이동 중일 때 작동합니다. 숫자를 입력하는 N 패널에서는 자동으로 면에 붙지 않습니다. 먼저 G와 Snap으로 대략 놓고, 마지막에 N 패널 값을 입력해 검산합니다. Blender의 Snap 메뉴와 선택 항목 정렬은 공식 Snap 설명에서도 확인할 수 있습니다.
재질이 분홍색으로 보인다
이미지 텍스처 파일 경로를 찾지 못한 상태입니다. File → External Data → Find Missing Files에서 14강 텍스처가 있는 폴더를 지정합니다. 정상으로 돌아오면 File → External Data → Pack Resources를 눌러 이미지 파일을 blend 안에 포함합니다.
책장이나 의자가 벽을 통과한다
Ctrl+Z로 마지막 이동을 취소한 뒤 Numpad 1, 3, 7을 차례로 눌러 세 방향에서 확인합니다. 부모 Empty를 선택하고 G, X 또는 G, Y로 한 축만 움직입니다. Shift를 함께 누르면 더 천천히 조정할 수 있습니다. 한 화면의 원근감만 믿지 말고 최소 두 방향에서 벽과의 간격을 확인해야 합니다.
완성 체크리스트
- 책상·의자·협탁·책장이 18강 방 안에 모두 보인다.
- 문이 열리는 범위와 방 중앙의 이동 경로를 가구가 막지 않는다.
- Desk_Group을 움직이면 상판과 다리가 함께 움직인다.
- Chair_Group, Nightstand_Group, Bookcase_Group도 각각 한 덩어리로 움직인다.
- 책장은 왼쪽 벽에 붙고 열린 선반 면이 방 안쪽을 향한다.
- 가구 다리가 바닥 아래로 들어가거나 공중에 뜨지 않는다.
- Outliner에서 01_ROOM, 02_FURNITURE, 03_LIGHTS_CAMERA 구조를 확인할 수 있다.
- 파일 이름이
blender-lesson-19-furnished-room.blend로 저장되어 있다.
모두 확인했다면 Ctrl+Shift+S로 최종 파일을 저장합니다. 이어서 16강에서 익힌 카메라 구도와 PNG 렌더 절차를 사용해 현재 장면을 한 장 시험 렌더해도 좋습니다. 가구가 너무 작거나 벽을 통과하는 문제는 렌더 화면에서 더 쉽게 발견됩니다.
응용 과제: 숫자를 바꾸어 원리를 확인하기
- Chair_Group의 Rotation Z를 15°로 바꾸어 책상을 향해 살짝 돌립니다. 의자 부품이 함께 회전하는지 확인합니다.
- Nightstand_Group의 X를 1.48m에서 1.70m로 바꾸어 책상과 간격이 어떻게 달라지는지 비교합니다.
- 02_FURNITURE Collection의 눈 아이콘을 껐다 켜서 방만 보이는 상태와 가구가 있는 상태를 비교합니다.
이번 강의에서 만든 파일은 20강의 시작 파일입니다. 다음 강에서는 지금 정리한 01_ROOM, 02_FURNITURE, 03_LIGHTS_CAMERA 구조를 그대로 사용해 창밖 햇빛이 들어오는 낮 장면과 실내등이 강조되는 밤 장면을 각각 렌더링합니다.
