Blender 햄버거 모델링 수업 정리
들어가며
3D 모델을 임포트하는 방법을 배웠다면, 이제 Blender를 이용해 직접 모델을 만드는 과정을 배워볼 차례입니다. 이 수업에서는 햄버거 모델을 Blender에서 직접 만들고, Three.js에서 사용하는 glTF 포맷으로 익스포트하는 전 과정을 다룹니다.
Blender 선택 이유
Blender 외에도 다양한 3D 소프트웨어(Cinema 4D, Maya, 3DS Max, ZBrush 등)가 있지만, 다음 이유로 Blender를 사용합니다:
- 무료
- 높은 성능
- 모든 주요 OS 지원
- 강력한 기능들
- 대규모 커뮤니티
- 2.8 이후로 UI가 쉬워짐
Blender의 모든 기능을 익히는 건 이 수업의 목표가 아니며, 기본기를 배우고 친숙해지는 것이 우선입니다.
Blender 다운로드
🧭 Blender 인터페이스 구조
기본 화면 구성 요소

- 3D Viewport: 주요 작업 영역

- Timeline: 애니메이션 작업 영역



- Outliner: 씬 구조를 계층으로 보여줌

- Properties: 오브젝트, 환경 속성 조절
영역(Area) 조작 방법

- 영역 변경: 각 영역 왼쪽 상단의 아이콘 클릭
- 영역 크기 조절: 경계선 드래그

- 영역 분할: 코너 클릭 후 십자(+)커서가 생기면 원하는 영역으로 드래그
- 영역 병합: 반대 방향으로 드래그
⌨ 단축키 사용법
Blender는 단축키 위주로 작업하면 훨씬 빠르고 효율적입니다.
단축키가 작동하지 않으면 한/영 을 꼭 확인합니다.
- 마우스 위치에 따라 단축키 기능이 달라질 수 있음
- 대부분의 단축키는 3D Viewport에 집중됨
- https://curiousweek.tistory.com/212 단축키 리스트
- Blender 단축키 리스트 (Google Doc)
🌀 뷰 조작

magic mouse 또는 터치 패드 등 마우스 중앙 버튼이 없는 도구 사용 시, Edit > Preferences > Input > Mouse > Emulate 3 Button Mouse > 체크 후 Alt
- Orbit (회전): MIDDLE MOUSE(휠) 클릭 + 드래그

- Truck/Pedestal (좌우/상하 이동): SHIFT + MIDDLE MOUSE

- Dolly (전후 이동): WHEEL 스크롤 or SHIFT + CTRL + MIDDLE MOUSE
- Walk/Fly 모드: SHIFT + ` (Mac에서는 키매핑 필요 → SHIFT + F로 변경 가능)
뷰 전환

- Orthographic/Perspective: NUMPAD 5

- X/Y/Z 정렬: NUMPAD 1/3/7 (CTRL 누르면 반대 방향)

- 카메라 뷰: NUMPAD 0
- 전체 리셋: SHIFT + C
- 선택한 오브젝트에 포커스: NUMPAD , (또는 NUMPAD /) 또는 / (취소도 동일 /)
노트북의 경우 숫자 패드 설정이 따로 가능하다. (Preferences > Input > Emulate Numpad) 이렇게 설정한 경우, Edit Mode에서 정점/간선/면으로 전환이 불편할 수 있기 때문에 Preferences > Keymap > 'mesh.select_mode'를 검색해서 다른 키로 설정해주면 된다. (commend + 1 (정점) / 2(간선) / 3(면)으로 설정)


🖱 오브젝트 선택
- 단일 선택: LEFT MOUSE
- 다중 선택: SHIFT + LEFT MOUSE
- 선택 취소: SHIFT + LEFT MOUSE
- 전체 선택: A
- 전체 선택 해제: A 두 번
- 박스 선택: B 드래그
- 브러시 선택: C (WHEEL로 반경 조절)
- 연결된 요소 전체 선택: L
- 반전 선택: CONTROL + I
- 부모로 연결
- 여러 오브젝트를 하나의 오브젝트에 부모로 연결해 그룹처럼 움직이게 함.
- 자식이 될 오브젝트들을 모두 선택
- 마지막에 부모로 삼을 오브젝트를 Shift + 클릭
- Ctrl + P → Object (Keep Transform) 선택
- 컬렉션
- 여러 오브젝트 선택
- M 키 → 새로운 컬렉션으로 이동
- 단점: 이동/회전은 컬렉션 단위로 직접 못함 (간접적 제어만 가능)
- 병합
- 병합할 메쉬 오브젝트 선택
- Ctrl + J
- 진짜로 하나의 메쉬가 됨 (편집 모드에서 모두 보임)
- 다시 분리, 분리할 부분 선택 후 P키 + selection
➕ 오브젝트 생성 및 삭제
- 원하는 위치 지정해서 오브젝트 생성: 3D 커서 위치 지정 Shift + 오른쪽 클릭
- 생성: SHIFT + A → Mesh 등 선택
- 삭제: 선택 후 X → 확인 클릭
- 병합(여러 오브젝트를 하나로 취급): ctrl + J
- 선택한 부분 분리: edit mode에서 P -> Selection
- 부분 삭제






X키를 누르고 Faces를 선택하면 면을 삭제할 수 있다. 삭제 후에 비어버린 면은 생성하고 싶은 곳들의 정점들을 선택 후 F키를 눌러서 면을 생성할 수 있다.



Text는 shift + A로 생성해서 우측 (a 아이콘)Data에서 수정 가능하다. Geometry > Extrude로 (앞 뒤로)두께 조절을 하거나 Depth로 전체 두께 조절(커지면 겹친다) Spacing에서 자간 등을 조절 가능하다. 우클릭(object) > Convert > Mesh로 Mesh로 변환해서 수정도 가능하다.
Data > Font에서 Regular / Bold / Italic / Bold&Italic 폰트 설정 가능.
🔎 오브젝트 숨김
- 선택된 것만 숨김: H
- 숨긴 것 복원: ALT + H
- 선택되지 않은 것 숨김: SHIFT + H
🔁 오브젝트 변형
- 이동: G
- 회전: R
- 스케일(크기): S
- 축 고정: G/R/S 이후 X, Y, Z
- 연결된 채로 확장: E


- 테두리를 따라 안쪽으로 새로운 면을 복사: I
- Bisect: 원하는 모양으로 자르기 (fill 자른 면 채우기, clear outer: 잘라낸 부분 삭제s)
여러 개로 쪼개기



Edit Mode로 들어가서 우클릭 > Subdivide > Number of Cut 계산해서 숫자 증가
객체를 뒤집는 방법 4가지
- 객체(Object Mode) 선택 > Ctrl + M > 뒤집고 싶은 축 선택 (X → X축 대칭 / Y → Y축 대칭 / Z → Z축 대칭)
- 객체 선택 > S → X → -1 입력 (또는 Object Properties → Scale → X 값을 -1로 변경)
- 객체 선택 > Modifier → Add Modifier → Mirror > Axis(X/Y/Z) 선택
- 객체 선택 > R → Z → 180 입력 → Z축 기준으로 완전 반대 방향을 가리킴 (회전)
🔄 모드 전환
- Object Mode ↔ Edit Mode: TAB
- Preferences > Keymap > Tab for Pie Menu를 설정하면 다양한 모드로 전환 가능하다.
- Ctrl + TAB: 모드 휠 메뉴
Edit Mode
- 기본 선택: Vertex (정점)
- 변경: 상단 아이콘 or 1/2/3 (정점/엣지/면)
Transform Pivot Point
화면 상단의 작은 동그라미 아이콘(Transform Pivot Point)

- Blender에서 회전(R)·스케일(S) 할 때 어떤 위치를 중심점(Pivot) 으로 삼을지 정하는 설정
- Median Point(기본값): 선택한 요소들의 평균 위치를 중심으로 회전/스케일한다.
- 3D Cursor: 회전/스케일을 3D Cursor를 중심으로 한다(정교한 조작에 매우 유용).
- Individual Origins: 여러 개를 선택했을 때 각 요소가 자기 중심 기준으로 따로 회전/스케일한다.
스냅(Snap) 메뉴
- Shift + S 단축키
- 3D 커서와 오브젝트(또는 정점)의 위치를 정확하게 서로 맞출 때 사용한다.
- Cursor to Selected → 커서를 선택한 위치로 옮긴다.
- Selection to Cursor → 선택한 오브젝트/정점을 커서 위치로 즉시 이동한다.
- Cursor to World Origin → 커서를 세계 좌표(0,0,0)로 보내 원점 정렬에 자주 사용된다.
- Cursor to Grid 3D 커서를 가장 가까운 그리드 라인으로 스냅한다. → 정확히 격자 단위에 맞추고 싶을 때 사용.
- Cursor to Active 여러 개가 선택돼 있을 때, 마지막으로 선택한(active) 오브젝트 또는 정점의 위치로 커서를 보낸다. → 기준점을 “내가 선택한 메인 오브젝트”에 맞추고 싶을 때.
- Selection to Grid 선택한 오브젝트(또는 정점)를 가장 가까운 그리드에 정렬한다. → 치수나 정렬 정밀도를 맞춰야 할 때 좋음.
- Selection to Cursor (Keep Offset) 선택한 오브젝트를 커서 주변으로 이동시키되, 각자 가진 상대적 거리(오프셋)는 그대로 유지한다.
- Selected to Active 여러 오브젝트를 선택하고, 마지막에 선택한 하나를 기준(active) 으로 다른 선택된 요소를 정확히 그 위치로 맞춘다.

🎨 셰이딩(Shading)

- X-Ray 모드: shift + Z
- Z → 셰이딩 휠 메뉴:
- Wireframe
- Solid
- Material Preview
- Rendered (실제 조명 포함)
🧱 Properties 패널 주요 항목

- Object Properties: 위치, 회전, 스케일 등

- Modifiers: 비파괴 편집 (Subdivision, Solidify 등)


Array를 이용해서 하나의 객체를 흩뿌리기
Modifier
Blender에서 가장 자주 쓰는 Modifier (실전 기준)1) Mirror (미러)대칭 모델링의 핵심.한쪽만 만들면 반대쪽 자동 생성.Clipping 켜는 게 중요.2) Subdivision Surface (서브디비전/서브디브)모델을 부드럽게 만
curiousweek.tistory.com

- Material: 재질 색상, roughness 조절

PBR 기반의 Principled BSDF 사용 → Three.js의 MeshStandardMaterial과 비슷
색상변경 기본 방법 두 가지!


(좌)우측 하단 Material로 색상 변경, (우) 상단 메뉴 중 Texture Paint에서 브러쉬로 칠하기 X키로 지정한 두 가지 색상을 왔다갔다 가능.
선택한 Face에만 그 재질이 적용


- Material Properties(붉은 구 아이콘) 클릭
- + 버튼 눌러 재질 슬롯 추가
- Edit Mode 로 들어가기 (Tab)
- Face Select 모드(3) 로 전환
- 오른쪽 Material 슬롯 리스트에서 원하는 색의 슬롯 선택
- Assign 버튼 클릭
Image 삽입하기
Image Texture
1. 활용할 이미지를 최대한 작은 사이즈로 변환한다. (https://squoosh.app/)2. 프레임이 될 메쉬를 생성하고 Material을 하나 더 생성한다.3. Shader Editor에서 Shift + A > Image Texture를 선택한다.4. 생성된 Image T
curiousweek.tistory.com
⚙ 렌더 엔진 설정


- Eevee: 실시간 렌더링 (Three.js와 유사)
- Cycles: 광선 추적 기반 고품질 렌더링 (느림)
- Workbench: 예전 엔진
렌더링: F12 (카메라 뷰 기준)
🔍 검색 기능
- F3 (또는 fn + F3): 액션 검색창 열기
💾 기본 레이아웃 저장
- File → Defaults → Save Startup File
🍔 햄버거 만들기

단위 설정
- 1 unit = 1cm 처럼 사용 (Scene Properties → Unit System = None)
하단 번 (Bottom Bun)
- 큐브 생성 → Subdivision Surface 추가
- Subdivisions 수치 증가
- Shade Smooth 적용
- Edit Mode → Loop Cut(Ctrl + R)로 엣지 다듬기
패티 (Meat)
- 기존 번 복사: Object Mode → SHIFT + D
- 위치 및 쉐이딩 조정
치즈 (Cheese)
- 평면 생성 → Edit Mode에서 Subdivide (Cuts: 10)
- 꼭짓점 선택 → O(Proportional Editing) → 모양 조절
- Solidify Modifier로 두께 조정
- Auto Smooth로 쉐이딩 개선
상단 번 (Top Bun)
- 하단 번과 유사한 방식으로 만들되, 더 둥글게 조절
🎨 머티리얼 설정
- 각 구성 요소에 재질 할당
- Bun: BunMaterial
- Meat: MeatMaterial
- Cheese: CheeseMaterial
- Base Color와 Roughness만 조정
조명 문제로 너무 어두울 경우:
- Directional Light 선택 → 위치 조정 → Power를 5000 정도로 증가
면 뒤집힘(Backface) 체크
- Overlays → Face Orientation 켜기 (파랑 = 정상, 빨강 = 뒤집힘)
- 전체 자동 정리 : Edit Mode → A → Shift + N (지오메트리 기준 자동 정렬)
- 일부 면만 수동 Flip : Edit Mode → 선택 → Alt + N → Flip
- 스케일/미러 적용 : Object Mode → Ctrl + A → Rotation & Scale
- 다시 Face Orientation 확인 (전부 파랑 = OK, 빨강 있으면 해당 면만 재수정)
- 필요 시 Cleanup (Merge by Distance / Delete Loose)
- → 모델 전체가 정상화(정면 방향 통일)
📤 glTF로 내보내기
- 햄버거 구성요소만 선택
- File → Export → glTF 2.0 (.glb/.gltf)
- .glb 형식으로 저장 (Binary 형식, 압축 포함)
- Three.js의 /static/models/ 경로에 저장
주요 설정:
- Format: glTF Binary
- Include: Selected Objects
- Transform: +Y Up
- Geometry: Apply Modifiers, Normals
내보낸 모델 확인하기



조명이 없다면 조명 추가 (https://threejs.org/editor/)
Three.js에서 테스트




const gltfLoader = new GLTFLoader();
gltfLoader.load('/models/hamburger.glb', (gltf) => {
scene.add(gltf.scene);
});
📚 추가 학습 리소스
Blender 2.8 이상 버전 기준 튜토리얼을 따라가는 걸 권장합니다.
tip! 바닥 높이 맞추기 Scripting Python code

import bpy
# Object Mode로 전환
if bpy.context.object and bpy.context.object.mode != 'OBJECT':
bpy.ops.object.mode_set(mode='OBJECT')
for obj in bpy.context.selected_objects:
if obj.type != 'MESH':
continue
# Scale 적용 (중요)
bpy.ops.object.transform_apply(location=False, rotation=False, scale=True)
# 바운딩 박스 최저점 계산
local_coords = [obj.matrix_world @ v.co for v in obj.data.vertices]
min_z = min(v.z for v in local_coords)
# 바닥 Z=0에 밀착
obj.location.z -= min_z'Graphic > Blender' 카테고리의 다른 글
| Modifier (0) | 2025.11.14 |
|---|---|
| 49 Blender에서 장면 만들기 (5) | 2025.08.07 |
| Blender 관련 사이트 (0) | 2025.05.27 |
| Blender 단축키 (0) | 2025.05.26 |
| Blender (2) | 2025.04.25 |