Blender 카메라 구도와 EEVEE 렌더링으로 PNG 저장하기: 입문 16강

렌더가 끝났다고 PNG 파일까지 저장된 것은 아닙니다. 기본 정지 이미지 렌더는 결과를 보여주지만, 파일로 남기려면 Image → Save As를 실행해야 합니다. 16강에서는 15강의 가구와 조명을 카메라 안에 담고, EEVEE로 렌더한 뒤 1920×1080 PNG가 실제 폴더에 있는 것까지 확인합니다.

이번 강의의 목표
50mm를 시작점으로 책상·의자·협탁·책장의 잘림을 확인합니다. EEVEE Render Samples 64, 1920×1080, 100%, PNG/RGB로 설정하고 렌더 결과와 .blend 작업 파일을 각각 저장합니다. 64는 연습용 시작값이며 모든 장면의 품질을 보장하는 값은 아닙니다.

16강에서 배우는 것

  • 현재 시점을 카메라에 맞추고 Camera View로 들어가는 방법
  • 24mm 광각과 50mm 표준 렌즈가 구도에 미치는 영향
  • EEVEE를 선택하고 렌더용 Samples를 설정하는 방법
  • 해상도, 퍼센트, PNG, RGB를 정확히 설정하는 위치
  • F12 렌더 후 실제 파일로 저장하는 방법

이번 강의는 15강의 Key·Fill·Rim 3점 조명 장면에서 이어집니다. Blender 공식 문서에 따르면 카메라의 Focal Length가 길수록 화각은 좁아지고 피사체는 확대되며, 짧을수록 더 넓은 범위가 보입니다. 이 비교에서는 Camera to View를 끈 채 카메라 위치·각도·센서·화면 비율을 그대로 두고 렌즈 값만 바꿉니다. 렌즈를 바꾸는 것과 카메라를 옮기는 것은 결과가 다릅니다.

새 파일로 저장하고 카메라 존재 여부 확인하기

  1. 15강 완성 파일을 엽니다.
  2. File → Save As를 누릅니다.
  3. 파일 이름을 blender-lesson-16-camera-render.blend로 입력하고 저장합니다.
  4. 오른쪽 위 Outliner에서 Camera가 있는지 찾습니다.

Camera가 없다면 3D Viewport에 마우스를 두고 Shift+A → Camera로 추가합니다. 선택된 카메라와 렌더에 쓰이는 활성 카메라는 다를 수 있습니다. 원하는 Camera를 선택한 뒤 View → Cameras → Set Active Object as Camera로 지정합니다. Scene Properties의 Camera에도 같은 오브젝트가 연결됐는지 확인합니다.

카메라 시점으로 들어가는 두 가지 방법

숫자 키패드가 있는 키보드는 Numpad 0을 누릅니다. 숫자 키패드가 없다면 3D Viewport 상단 메뉴에서 View → Cameras → Active Camera를 클릭합니다. 카메라 테두리 바깥이 어둡게 보이면 Camera View에 들어온 것입니다.

먼저 마우스로 원하는 작업 시점을 만든 뒤 카메라를 그 시점에 맞추고 싶다면 View → Align View → Align Active Camera to View를 사용합니다. 단축키는 Ctrl+Alt+Numpad 0이지만 키보드 환경에 따라 메뉴가 더 확실합니다. 공식 Camera View 문서에서도 같은 경로를 확인할 수 있습니다.

출력 비율과 카메라 조건부터 맞추기

카메라 구도를 잡기 전에 Output Properties → Format에서 1920×1080, 100%, Pixel Aspect X/Y 1/1로 맞춥니다. Render Region과 Crop to Render Region은 끕니다. 출력 비율이 달라지면 카메라에 들어오는 범위도 달라질 수 있습니다.

Object Mode에서 Camera를 선택하고 초록색 카메라 아이콘인 Object Data Properties → Lens에서 Perspective, Lens Unit Millimeters, Shift X/Y 0, Clip Start 0.1 / End 1000을 확인합니다. 여기서 카메라는 부모·Constraint가 없고 Rotation Mode가 XYZ Euler인 기본 오브젝트를 기준으로 합니다. Camera → Sensor는 Sensor Fit Auto, Sensor Size 36mm를 기준으로 합니다. 이번에는 Depth of Field를 끄고 구도와 저장 과정에 집중합니다.

숫자로 시작할 때의 예시

  1. Outliner에서 Camera를 클릭합니다.
  2. N을 눌러 사이드바를 열고 Item → Transform을 펼칩니다.
  3. Location에 X 10, Y -16, Z 11를 입력합니다.
  4. Rotation에 X 약 64.93°, Y 0°, Z 약 34.01°를 입력합니다.
  5. Numpad 0 또는 메뉴의 View → Cameras → Active Camera로 결과를 확인합니다.

이 값은 앞 강의 점검용 가구 장면을 대상으로 별도 재현한 시작점입니다. 카메라는 대략 (-1, 0.3, 1.8) 방향을 바라봅니다. 가구의 위치·크기가 다르면 같은 숫자로 같은 구도가 나오지 않습니다. 그럴 때는 원하는 시점을 만든 뒤 Align Active Camera to View를 사용합니다.

Camera View에서 휠로 카메라 테두리를 크게 보이게 해도 렌더 구도가 바뀌는 것은 아닙니다. 시점을 움직여 카메라까지 조절하려면 N → View → View Lock → Camera to View를 켭니다. 조절이 끝나면 꺼두면 실수로 카메라를 움직이는 일을 줄일 수 있습니다.

24mm 광각: 넓지만 피사체가 작아진다

  1. Camera를 선택한 상태에서 Properties 아래쪽의 초록색 카메라 아이콘 Object Data Properties를 누릅니다.
  2. Lens 패널에서 Type이 Perspective인지 확인합니다.
  3. Focal Length에 24 mm를 입력합니다.
  4. 먼저 Camera View에서 테두리 안의 범위를 확인합니다. 렌더 비교는 아래 EEVEE·출력 설정을 마친 뒤 같은 조건으로 진행합니다.
Blender Camera Focal Length 24mm 설정 화면
Camera Data Properties에서 24mm를 입력하는 위치

24mm에서는 바닥과 주변 공간이 많이 들어오고 가구가 화면 가운데 작게 모입니다. 전체 배치를 확인하기에는 편하지만 가구를 크게 보여주려면 빈 공간을 줄일 필요가 있습니다. 어느 렌즈가 적절한지는 보여줄 범위에 따라 달라집니다.

50mm 표준: 가구가 화면의 주인공이 된다

  1. 다시 Camera의 초록색 카메라 아이콘을 누릅니다.
  2. Focal Length를 50 mm로 바꿉니다.
  3. Camera View에서 책장 위와 바닥 앞쪽에 약간의 여백이 있는지 확인합니다.
  4. 가구가 잘리면 카메라를 뒤로 옮깁니다. Camera만 선택하고 Transform Orientation이 Global인 상태에서 3D Viewport에 마우스를 둔 뒤 G → Z → Z → 1 → Enter를 누릅니다. 카메라 자신의 +Z 방향으로 1 단위 물러나는 예시입니다. 필요하면 조금씩 반복하고 여백을 확인합니다.
Blender Camera Focal Length 50mm 설정 화면
Camera 선택과 50mm 입력 위치. 위치·각도·센서·출력 비율은 그대로 두고 비교합니다.

같은 위치에서 24mm를 50mm로 바꾸면 화각이 좁아지고 가구가 크게 보입니다. 렌즈 값만 바꿨다고 앞뒤 물체 사이의 원근 관계가 달라지는 것은 아닙니다. 카메라를 함께 옮겨 같은 크기로 맞추는 비교와 구분해야 합니다. 공식 Camera 문서의 화각 설명을 기준으로, 이번에는 50mm에서 가구가 잘리지 않도록 거리부터 조절합니다.

구도를 스스로 검수하는 4가지 질문

  1. 주인공이 즉시 보이는가? 이번 장면에서는 책상과 의자가 먼저 보여야 합니다.
  2. 중요한 물체가 잘리지 않았는가? 책장 상단, 의자 다리, 협탁 바닥을 확인합니다.
  3. 여백이 한쪽에 몰리지 않았는가? 화면 좌우의 검은 공간이 지나치게 다르지 않은지 봅니다.
  4. 바닥선이 어색하게 기울지 않았는가? 카메라를 과하게 비틀면 제품 사진보다 불안정한 인상이 됩니다.

EEVEE와 Cycles: 초보자는 무엇을 선택할까?

오른쪽 Properties에서 Render Properties를 엽니다. 탭의 위치를 세기보다 이름을 확인하는 편이 정확합니다. 맨 위 Render Engine에서 EEVEE 또는 Cycles를 선택할 수 있습니다.

Blender Render Engine EEVEE와 Render Samples 64 설정 화면
Render Properties에서 EEVEE와 Samples 64 설정

Blender 공식 Render Engines 문서는 EEVEE를 속도와 상호작용에 초점을 둔 실시간 엔진으로, Cycles를 물리적 정확성에 초점을 둔 패스 트레이싱 엔진으로 설명합니다.

Blender EEVEE와 Cycles 가구 장면 렌더 비교
기존 EEVEE·Cycles 예시 이미지. 기기·샘플·측정 시간이 기록된 동일 조건 시험이 아니므로 속도나 우열을 판정하는 자료로 쓰지 않습니다.
  • EEVEE: 빠르게 결과를 확인하고 조명·카메라를 반복 수정하기 좋습니다.
  • Cycles: 빛 반사와 간접광이 더 자연스러울 수 있지만 샘플이 쌓일 때까지 시간이 더 걸리고 노이즈가 보일 수 있습니다.

이번 저장 연습은 EEVEE로 진행합니다. Render Engine에서 EEVEE를 선택하고 Sampling → Render → Samples 64를 입력합니다. Viewport Samples와 Render Samples는 별개이므로 Render 쪽 값을 확인합니다. 16·32는 시험 렌더용으로 낮춰볼 수 있지만 그림자나 노이즈를 보고 판단해야 합니다. 샘플 숫자만으로 모든 장면의 품질이 같아지지는 않습니다. 설정 역할은 공식 EEVEE Sampling 문서에서 확인할 수 있습니다.

1920×1080 PNG 출력 설정

  1. Properties에서 프린터처럼 생긴 Output Properties 아이콘을 누릅니다.
  2. Format 패널에서 Resolution X 1920 px, Y 1080 px를 입력합니다.
  3. 퍼센트를 100%로 맞춥니다. 50%에서는 960×540입니다. Pixel Aspect 1/1, Render Region 꺼짐, Crop to Render Region 꺼짐도 확인합니다.
  4. Output에 사용할 폴더를 정해둡니다. 이 경로를 지정하는 것과 정지 이미지를 실제로 저장하는 것은 별개입니다.
  5. 이미지를 저장할 때 쓸 이름은 blender-lesson-16-final-render.png로 정합니다. 실제 폴더와 이름은 뒤의 Image → Save As 창에서 다시 확인합니다.
  6. File Format PNG, Color RGB, Color Depth 8을 기준으로 합니다. Color Management는 장면의 보기 설정을 따르는 Follow Scene으로 둡니다.
Blender Output 1920x1080 100퍼센트 PNG RGB 설정 화면
기존 Output 설정 화면. 해상도·퍼센트와 RGB 선택을 참고하되 실제 저장 파일은 별도로 확인합니다.
기본 F12 정지 이미지 렌더는 파일을 자동 저장하지 않습니다.
Output 경로에 이름이 있어도 PNG 저장 완료를 뜻하지 않습니다. Render Result에서 Image → Save As를 실행해야 합니다. File Output 노드나 스크립트의 파일 쓰기를 별도로 쓰는 경우는 이 기본 동작과 구분합니다.

최종 렌더와 저장을 끝내기

  1. Render → Render Image 또는 F12로 렌더합니다. macOS에서 기능 키가 다른 동작을 하면 메뉴를 사용합니다. 진행 표시가 끝날 때까지 기다립니다.
  2. 렌더 결과가 보이면 전체 가구가 들어왔는지, 조명이 너무 밝거나 어둡지 않은지 확인합니다.
  3. Render Result 상단의 Image → Save As를 누릅니다.
  4. 저장 창에서 폴더, 파일 이름, PNG, RGB, 8비트를 다시 확인하고 Save As Image를 누릅니다. 기존 파일을 덮어쓰는 확인이 나오면 이름과 목적지를 확인합니다.
  5. Finder에서 저장된 파일을 열어 가구가 들어왔는지 봅니다. 미리보기 등 이미지 정보를 볼 수 있는 앱에서 이미지 픽셀 크기가 1920×1080인지도 확인합니다. 확장자만 .png인 것으로 끝내지 않습니다.
  6. F11로 렌더 결과와 작업 화면을 오갈 수 있습니다.
  7. 마지막으로 Ctrl+S 또는 macOS의 Cmd+S로 .blend 파일도 저장합니다.

초보자가 자주 막히는 문제와 해결

“Cannot render, no camera” 오류가 나옵니다

Scene에 활성 카메라가 없는 경우입니다. 원하는 Camera를 선택하고 View → Cameras → Set Active Object as Camera로 지정하거나 Scene Properties → Camera에 연결합니다. 숫자 키패드가 있으면 Ctrl+Numpad 0도 사용할 수 있습니다.

렌더는 됐는데 가구가 보이지 않습니다

카메라가 없어서 렌더가 실패한 경우와 구분합니다. 먼저 Camera View에서 가구가 테두리 안에 있는지, 실제 활성 카메라가 맞는지 확인합니다. 다음으로 가구와 Collection의 렌더 표시가 꺼졌는지, Clip Start/End 범위 밖에 있는지 살핍니다. 눈 아이콘으로 Viewport를 숨긴 것과 렌더를 숨긴 것은 서로 다를 수 있습니다.

가구 일부가 잘립니다

먼저 Focal Length를 50에서 45 mm로 조금 낮춰 봅니다. 50mm를 유지하려면 카메라를 뒤로 옮깁니다. 카메라 각도부터 바꾸면 수평선과 구도가 함께 흔들리므로 거리부터 조절하는 편이 쉽습니다.

Cycles 결과에 점 같은 노이즈가 많습니다

샘플과 Denoise 설정을 살펴보고 시험 렌더를 비교합니다. 장면과 조명에 따라 필요한 샘플이 달라지므로 특정 값에서 반드시 노이즈가 사라진다고 단정하지 않습니다. 다만 이번 강의의 최종 목표는 EEVEE이므로 비교를 마친 뒤 엔진을 EEVEE로 되돌려도 됩니다.

Output 경로를 지정했는데 PNG가 없습니다

기본 F12 정지 이미지 렌더는 애니메이션 렌더와 달리 파일을 자동 저장하지 않습니다. Render Result에서 Image → Save As를 실행하고 Finder에서 파일이 실제로 생겼는지 확인합니다. 자세한 내용은 Blender 공식 Output 문서와 Format 문서를 참고할 수 있습니다.

완성 이미지가 작고 흐립니다

Resolution X/Y가 1920×1080이어도 Percentage가 50%면 절반 크기로 나옵니다. 100%로 바꾼 뒤 다시 렌더하고 다시 저장해야 합니다. 설정만 바꾸면 이미 만든 Render Result의 픽셀이 늘어나는 것은 아닙니다. Render Region과 Crop도 확인합니다. 이번 배경을 포함한 결과는 RGB로 저장합니다.

별도 재현에서 확인한 내용

이 강의는 공식 문서와 Codex의 별도 시험을 바탕으로 보완했습니다. 아래 시험은 필자의 개인 작업 기록이 아니라, 안내를 검증하기 위해 Codex가 수행한 별도 재현입니다. 기존 이미지는 화면 안내와 구도 참고 자료이며, 이번 시험 결과나 필자의 직접 캡처로 바꾸어 설명하지 않습니다.

  • Blender 5.2.0 LTS에서 앞 강의 점검용 가구 파일을 복사해 EEVEE Render Samples 64, AgX, Exposure 0으로 렌더했습니다. 원래 사용자 프로젝트는 수정하지 않았습니다.
  • Perspective·센서 36mm·Sensor Fit Auto·Shift 0·16:9를 고정하고 24mm와 50mm를 비교했습니다. 같은 카메라 위치에서 화각과 화면 안 크기가 달라지는 것을 확인했습니다.
  • 기존 시작값 (10.8, -13.4, 9.2), 회전 (67.3°, 0°, 38.4°)에서는 이 시험 장면의 책장 위쪽이 50mm 테두리를 조금 벗어났습니다. 카메라 자신의 +Z 방향으로 2 단위 물러나자 가구 경계가 모두 프레임 안에 들어왔습니다. 다른 장면의 공통 정답으로 쓰는 숫자는 아닙니다.
  • 본문의 별도 시작점 (10, -16, 11), 회전 약 (64.93°, 0°, 34.01°), 50mm로 최종 구도를 잡았습니다. PNG/RGB 8비트 실제 파일을 열어 100%는 1920×1080, 50%는 960×540임을 확인했습니다.
  • 파일 쓰기를 하지 않는 기본 렌더 호출에서는 경로만 지정해도 파일이 생기지 않았고, Render Result를 명시적으로 저장하자 PNG가 만들어졌습니다. 활성 카메라를 제거한 시험에서는 Cannot render, no camera 오류가 났습니다.

이 확인은 Blender의 Python API를 이용한 격리된 렌더·저장 시험입니다. F12나 저장 창을 실제 키보드·마우스로 조작한 기록은 아닙니다. 메뉴와 기본 저장 동작은 공식 Image Editor의 Save / Save As 안내와 대조했습니다. 렌더 시간 비교나 모든 기기에서의 동일 결과를 검증한 것은 아닙니다.

16강 완료 체크리스트

  • Camera가 활성화되어 있고 Camera View로 들어갈 수 있다.
  • 같은 위치에서 24mm와 50mm의 화면 범위를 비교했다.
  • 최종 렌즈는 50mm이며 가구가 잘리지 않고 화면을 안정적으로 채운다.
  • Render Engine은 EEVEE, Render Samples는 64다.
  • 출력은 1920×1080, 100%, Pixel Aspect 1/1, Region/Crop 꺼짐, PNG/RGB이며 저장된 파일의 픽셀 크기도 확인했다.
  • blender-lesson-16-final-render.png가 실제 폴더에 저장됐다.
  • blender-lesson-16-camera-render.blend도 저장했다.

이미지 파일과 .blend 작업 파일이 각각 남았으면 이번 저장 연습을 마친 것입니다. 다음 17강에서는 가구를 배치할 방의 바닥과 벽을 실제 치수로 만듭니다. 방과 가구를 완성한 뒤 21강부터 서랍·의자·카메라 애니메이션으로 이어갑니다.

50mm 카메라와 3점 조명으로 완성한 Blender 가구 최종 렌더
기존 1920×1080 JPEG 구도 예시. 이 웹 이미지 자체가 PNG/RGB 저장 완료의 증거는 아닙니다.