Blender3D 기초

빠른 EEVEE, 정확한 Cycles: Blender 렌더 엔진 고르는 법

EEVEE는 빛을 빠르게 추정하고 Cycles는 빛의 길을 따라갑니다. 차이와 고르는 법을 담았습니다.

AZTechnology15분 읽기

한국어English

같은 장면을 같은 시점에서 본 뷰포트 두 장. 왼쪽 EEVEE(기본 설정)는 유리 공과 크롬 공이 검게 보이고, 오른쪽 Cycles는 굴절·반사와 빛 번짐이 보이지만 노이즈가 남아 있다 (Blender 화면 캡처 두 장을 나란히 붙임)

기준: Blender 5.2 LTS 공식 매뉴얼. 메뉴 이름은 영어 화면 기준입니다.

Blender에는 최종 이미지를 만드는 렌더 엔진이 두 가지 있습니다. EEVEE는 빛을 빠르게 '추정'하는 실시간 엔진이고, Cycles는 빛이 지나가는 길을 하나하나 '따라가는' 정확한 엔진입니다. 그래서 EEVEE는 빠르고, Cycles는 물리적으로 더 정확한 대신 시간이 오래 걸립니다. 이 글에서는 두 엔진이 빛을 계산하는 방식, 각 엔진의 약점, 내 컴퓨터에서 돌릴 수 있는지 확인하는 법, 그리고 작업에 맞는 엔진을 고르는 기준과 바로 쓰는 설정 위치를 설명합니다.

렌더링의 뜻

3D 프로그램 안에는 물체, 조명, 카메라가 놓인 '장면'이 있습니다. 렌더링은 이 장면을 카메라 시점에서 한 장의 그림으로 만들어 내는 과정입니다. 영상이라면 이 그림을 1초에 수십 장씩 만들어 이어 붙입니다.

렌더 엔진은 이 그림을 실제로 그려 주는 '화가' 역할을 합니다. 같은 장면이라도 어떤 엔진을 고르느냐에 따라 걸리는 시간과 결과물의 느낌이 달라집니다.

참고로 Blender에는 Workbench라는 세 번째 엔진도 있습니다. Workbench는 모델링과 애니메이션 중에 화면을 빠르게 보여 주기 위한 엔진입니다. 최종 결과물용 엔진은 아니므로, 이 글에서는 EEVEE와 Cycles 두 가지만 비교합니다.

두 엔진 소개

  • EEVEE: 빠르고, 조작에 바로 반응하도록 만든 실시간 렌더 엔진입니다. 작업 화면(3D 뷰포트)에서 바로 결과를 보며 쓸 수 있고, 고품질 최종 렌더링에도 쓸 수 있습니다.
  • Cycles: 최종 결과물을 만들기 위한 물리 기반 경로 추적기(path tracer)입니다. 경로 추적은 빛이 지나간 길을 따라가며 계산하는 방식입니다. 따로 손보지 않아도 물리적으로 맞는 결과를 내도록 설계되었습니다.

두 엔진은 모두 PBR(물리 기반 렌더링)을 따릅니다. PBR은 빛이 실제 물체에 닿을 때 반사되고 흡수되는 방식을 흉내 내서 재질을 표현하는 규칙이고, PBR 재질 글에서 자세히 다룹니다. 다만 두 엔진은 이 규칙을 따르는 방법이 다릅니다.

빛을 계산하는 방식의 차이

일상에 비유해 보겠습니다. EEVEE는 솜씨 좋은 스케치 화가와 비슷합니다. 먼저 눈에 보이는 면을 빠르게 그려 놓고, 그 위에 "여기는 이 정도 밝겠지" 하고 요령껏 빛과 그림자를 칠합니다. Cycles는 발자국을 거꾸로 따라가는 탐정과 비슷합니다. 카메라에 들어온 빛 한 줄기가 어디서 튕겨 왔는지, 그 전에는 어디서 왔는지를 한 걸음씩 되짚어 빛의 출처(조명)까지 찾아갑니다.

조금 더 정확하게 말하면 이렇습니다.

  • EEVEE는 래스터화 방식(rasterization)입니다. 래스터화는 3D 물체를 화면의 픽셀 위에 '펼쳐 찍는' 방법입니다. EEVEE는 경로 추적기가 아닙니다. 카메라에서 어떤 면이 보이는지 먼저 정한 다음, 여러 알고리즘으로 빛과 재질이 만나는 모습을 추정합니다. 게임 그래픽이 빠르게 화면을 그리는 방식과 같은 계열입니다.
  • Cycles는 경로 추적 방식(path tracing)입니다. 현실에서는 빛이 조명에서 나와 눈으로 들어오지만, Cycles는 거꾸로 카메라에서 장면 쪽으로 광선을 쏘아 빛이 있는 곳까지 따라갑니다. 이렇게 하면 카메라에 들어오지 않을 빛을 계산하느라 시간을 버리지 않습니다.

Cycles의 광선 하나가 지나가는 길을 글자로 그리면 다음과 같습니다.

카메라 ──▶ 픽셀 ──▶ 탁자 표면 ──(튕김)──▶ 벽 ──(튕김)──▶ 조명

글자 도표 설명: Cycles는 카메라의 한 픽셀에서 광선을 출발시켜, 물체에 부딪혀 튕길 때마다 방향을 바꾸며 조명까지 따라갑니다. 픽셀 하나에 이런 경로를 여러 번 보내 평균을 냅니다. EEVEE는 이 길을 따라가지 않고, 보이는 면에서 밝기를 바로 추정합니다.

흔히 "EEVEE는 게임 그래픽, Cycles는 영화 CG"라고 비유하기도 합니다. 떠올리기 쉬운 비유일 뿐입니다. EEVEE로도 최종 렌더링을 할 수 있습니다.

한눈에 보는 비교표

구분EEVEECycles
계산 방식래스터화 + 빛을 추정경로 추적(빛의 길을 따라감)
속도빠름, 실시간 미리보기느린 편, 샘플 수만큼 시간이 늘어남
물리적 정확도근사치EEVEE보다 물리적으로 정확
노이즈(자글자글한 점)적은 편샘플이 적으면 뚜렷함
사용하는 장치GPU만 사용CPU, GPU 모두 가능
CPU와 GPU 함께 쓰기불가(GPU 전용)백엔드에 따라 가능
반사·굴절화면에 보이는 정보로 근사경로 추적으로 계산
연기·안개(볼륨)단순한 표현만경로 추적으로 계산
재질 만들기같은 셰이더 노드를 공유같은 셰이더 노드를 공유

표에 나온 '샘플'은 픽셀 하나의 색을 정하려고 계산을 되풀이하는 횟수이고, '백엔드'는 Blender가 그래픽카드에 일을 맡길 때 쓰는 통로(CUDA, OptiX 등)를 말합니다. EEVEE 칸의 자세한 사정은 바로 아래 절에서 다룹니다.

EEVEE의 약점 세 가지

EEVEE는 빠른 대신 구조상 어쩔 수 없는 한계가 있습니다. 처음에 자주 부딪히는 것 세 가지만 골랐습니다.

1. 화면 밖 물체의 반사: 화면 밖에 있는 것은 반사에 제대로 비치지 않습니다. EEVEE는 광선이 물체에 부딪히는 지점을 직접 계산하지 않고, 카메라에서 본 거리 정보(깊이 버퍼)로 장면을 짐작합니다. 그래서 카메라에 찍히지 않은 물체나 다른 물체 뒤에 가려진 물체는 반사 같은 효과에 정확히 반영되지 않고, 화면 가장자리에서 반사가 흐려지거나 사라지기도 합니다. 비유하자면 EEVEE의 거울은 카메라에 찍힌 것을 주로 비추는 거울입니다. 화면 밖 부분은 라이트 프로브, 곧 장면 곳곳의 빛을 미리 찍어 둔 사진으로 대신 채우는데, 실시간으로 계산한 것이 아니라서 덜 정확합니다. "왜 바닥 반사가 화면 끝에서 이상해지지?"라는 질문의 답이 대부분 여기에 있습니다.

2. 단순한 연기·안개 표현: EEVEE의 볼륨은 빛이 한 번만 흩어지는 경우(단일 산란)만 계산하고, 반사나 굴절, 라이트 프로브에는 나타나지 않습니다.

3. 두께 없는 벽의 빛 샘: 얇은 판 하나로 만든 벽은 그림자 쪽으로 빛이 새어 들어올 수 있습니다.

EEVEE에도 노이즈가 전혀 없는 것은 아닙니다. 그림자를 무작위로 뽑아 계산할 때 생기는 노이즈는 그림자 광선(Rays) 수를 올려 줄이고, 레이트레이싱(광선을 따라가며 빛을 계산하는 방식)에는 노이즈를 줄이는 디노이징 설정이 따로 있습니다. 다만 Cycles만큼 화면 전체가 자글자글해지는 경우는 드문 편입니다.

Cycles의 노이즈와 줄이는 법

Cycles로 처음 렌더하면 그림이 자글자글한 점으로 덮여 나오는 경우가 많습니다. 이것을 노이즈라고 하며, 버그가 아니라 경로 추적의 원리 때문에 생깁니다.

탐정 비유를 이어 보겠습니다. 경로 추적은 광선을 무작위 방향으로 보내 빛의 출처를 찾습니다. 어떤 픽셀의 탐정은 운 좋게 밝은 조명까지 가는 발자국을 찾고, 옆 픽셀의 탐정은 놓치면 두 픽셀의 밝기가 들쭉날쭉해집니다. 이 차이가 노이즈입니다. 사진으로 치면 노출이 모자란 사진이 거칠게 나오는 것과 같습니다. 탐정이 단서를 많이 모을수록 결론이 확실해지듯, 픽셀마다 따라가는 경로 수(샘플)를 늘리면 노이즈가 줄어듭니다.

노이즈를 줄이는 방법은 다음과 같습니다.

  1. 샘플 수 늘리기: 속성 편집기(Properties)의 렌더(Render) 탭에서 Sampling ‣ Render의 최대 샘플(Max Samples)을 올리면 깨끗해지지만 시간이 길어집니다. 시간 제한(Time Limit)을 걸어 둘 수도 있습니다.
  2. 적응형 샘플링: 같은 곳의 Noise Threshold를 켜면, 이미 충분히 깨끗해진 부분은 샘플링을 일찍 멈춥니다. 예를 들어 캐릭터 머리카락은 샘플이 많이 필요하지만 배경은 적게 들기 때문에, 필요한 곳에만 시간을 씁니다.
  3. 디노이저 켜기: 디노이저는 샘플을 늘리지 않고 노이즈를 지워 주는 알고리즘입니다. 설정은 렌더 탭의 Sampling ‣ Render ‣ Denoise에 있고, Intel OpenImageDenoise와 NVIDIA OptiX 중에서 고를 수 있습니다.

Cycles에도 약점은 있습니다. 카메라에서 광선을 쏘는 방식이라, 물이 담긴 유리잔이 바닥에 만드는 빛 무늬(커스틱) 같은 효과는 찾기 어려운 빛의 길이라 표현하기 힘듭니다. 탐정이 아주 좁은 골목으로 이어진 발자국을 찾기 어려운 것과 비슷합니다.

내 컴퓨터에서 돌릴 수 있는지 확인하기

엔진을 고르기 전에 장비 조건부터 확인해 두면 헤매지 않습니다. 여기서 CPU는 컴퓨터의 두뇌 역할을 하는 중앙 처리 장치이고, GPU는 화면 그리기를 맡는 그래픽 처리 장치(그래픽카드 또는 CPU에 들어 있는 내장 그래픽)입니다.

EEVEE는 GPU가 꼭 필요합니다. 공식 매뉴얼에는 CPU 렌더링이 매우 비효율적이라 지원할 계획이 없다고 적혀 있습니다. 여러 GPU를 동시에 쓰는 기능도 없고, 모니터 없이 서버처럼 돌리는 Windows 컴퓨터에서는 렌더할 수 없습니다. 다행히 Blender 공식 시스템 요구 사항은 프로그램 자체를 실행하는 조건에 GPU를 포함하고, 지원 목록에는 Intel 내장 그래픽도 들어 있습니다. 그래서 Blender가 돌아가는 PC라면 EEVEE도 대개 쓸 수 있고, 차이는 속도에서 납니다.

Cycles는 CPU와 GPU를 모두 쓸 수 있습니다. CPU는 모든 Cycles 기능과 호환되고, GPU 계산(GPU Compute)은 흔히 더 빠릅니다. GPU가 있다면 켜서 쓰는 편이 유리합니다. 알아 둘 점은 두 가지입니다.

  • 그래픽카드 메모리 부족: CPU에서는 되는데 GPU에서 렌더링이 안 되는 가장 흔한 원인입니다. 예를 들어 이미지 텍스처 하나가 8K면 약 256MB, 2K면 약 16MB를 차지하므로 텍스처 해상도를 낮추면 도움이 됩니다.
  • 렌더링 중 멈춘 듯한 화면: 오래된 세대의 그래픽카드는 렌더링과 화면 그리기를 동시에 하지 못해, 같은 카드로 둘 다 하면 조작이 버벅입니다. 최신 그래픽카드에서는 메모리를 많이 쓰는 무거운 장면에서만 가끔 생기는 편이고, 완전히 피하려면 렌더링용과 화면용 그래픽카드를 따로 두어야 합니다.

GPU 백엔드는 그래픽카드 제조사에 따라 CUDA·OptiX(NVIDIA), HIP(AMD), oneAPI(Intel), Metal(Apple)로 나뉩니다. 이 중 OptiX는 RTX 그래픽카드의 레이트레이싱 전용 하드웨어를 활용합니다. 백엔드마다 지원하는 그래픽카드 세대가 정해져 있으니, 자세한 조건은 Blender 렌더링용 그래픽카드 고르기 글에 정리했습니다.

고르는 기준

정답은 "무엇을 만들고 싶은가"에 달려 있습니다. 아래 다섯 가지를 살펴보세요.

살필 것EEVEE 쪽Cycles 쪽
목표 스타일로우폴리, 만화풍, 단순한 재질사진 같은 사실감
반사·굴절의 비중화면 안 반사로 충분유리, 거울, 물이 중심
마감 시간빠르게 여러 번 수정해야 함렌더링 시간을 넉넉히 쓸 수 있음
장비GPU 필수, 보통 PC면 대개 가능GPU가 있으면 켜서 빠르게, 그래픽 성능이 매우 낮거나 모니터 없는 서버 환경이면 CPU로
연기·안개의 비중가벼운 분위기 정도빛줄기, 짙은 안개 표현

이 표로 보면, 단색 재질의 로우폴리 애니메이션은 사실감이 덜 필요하고 자주 고쳐야 하니 EEVEE 쪽입니다.

두 엔진은 같은 셰이더 노드로 재질을 만듭니다. 셰이더 노드는 재질의 색, 광택, 투명도 같은 성질을 블록처럼 이어 붙여 정하는 도구입니다. 기존 장면을 그대로 다른 엔진으로 렌더할 수 있고, Cycles 사용자는 EEVEE로 재질을 실시간 미리보기할 수도 있습니다. 그래서 EEVEE로 빠르게 작업하다가 필요한 장면만 Cycles로 바꿔 보는 방식도 가능합니다. 다만 계산 방법이 달라 결과가 조금씩 다르고, 일부 보조 노드는 EEVEE에서 지원되지 않으니 바꾼 뒤에는 꼭 결과를 확인하세요.

바로 쓰는 설정 위치 3가지

  1. 엔진 바꾸기: 속성 편집기(Properties)의 렌더(Render) 탭에 있는 Render Engine에서 EEVEE, Cycles, Workbench 중 하나를 고릅니다.
  2. Cycles에서 GPU 켜기: 먼저 Edit ‣ Preferences ‣ System ‣ Cycles Render Devices에서 백엔드와 그래픽카드를 켭니다. 그다음 렌더 탭의 Device를 GPU Compute로 바꿉니다. 두 단계를 모두 해야 GPU로 렌더됩니다.
  3. 디노이저 켜기: 렌더 탭의 Sampling ‣ Render ‣ Denoise를 켜고, 그 안의 Denoiser 항목에서 알고리즘을 고릅니다.

흔한 오해 바로잡기

  • "EEVEE는 미리보기용이라 최종 결과물에는 못 쓴다." EEVEE는 고품질 최종 렌더링에도 씁니다. 미리보기 전용에 가까운 것은 Workbench입니다.
  • "Cycles가 무조건 더 좋다." 물리적으로 더 정확한 것은 맞습니다. 하지만 사실감이 목표가 아닌 스타일이라면 EEVEE의 속도가 더 큰 장점이 되고, Cycles도 커스틱 같은 약점이 있습니다.
  • "두 엔진은 재질을 따로 만들어야 한다." 같은 셰이더 노드를 씁니다. 결과가 조금 다를 뿐입니다.
  • "EEVEE도 CPU로 돌릴 수 있다." EEVEE는 GPU 전용입니다. CPU로만 렌더해야 한다면 Cycles를 쓰세요.
  • "Cycles의 노이즈는 버그다." 경로 추적의 원리상 생기며, 샘플과 디노이저로 줄입니다.
  • "EEVEE는 조명을 몇 개밖에 못 쓴다." 예전 자료에서 자주 보이는 설명입니다. EEVEE는 Blender 4.2에서 새로 다시 만들어졌고, 조명 개수 제한이 사라져 화면에 동시에 보이는 조명을 4,096개까지 쓸 수 있게 되었습니다. 오래된 강좌를 볼 때는 Blender 버전을 먼저 확인하세요.

참고 자료

KEEP EXPLORING

다음으로 읽어보세요