
앰비언트 오클루전 완벽 가이드: SSAO vs HBAO vs GTAO (2026)
개요
소개
Ambient occlusion(앰비언트 오클루전)은 15년 이상 화면에서 누구나 봐왔지만, 막상 명확하게 설명하기 어려운 렌더링 개념 중 하나예요. 게임 설정 메뉴를 열면 SSAO, HBAO, GTAO 옵션이 달린 "Ambient Occlusion" 토글을 발견하게 되고, Blender, Cinema 4D, 3ds Max를 열면 렌더 설정 안에 AO 패스가 숨어 있어요. 스크린샷마다 결과가 조금씩 달라 보이고, 성능 비용은 수십 배 차이가 나며, 트레이드오프를 제대로 설명하는 문서는 드물어요.
Super Renders Farm은 2010년부터 분산 CPU·GPU 렌더링 작업을 운영해왔는데, 건축 시각화(archviz)와 제품 시각화 관련 지원 티켓의 약 절반에서 ambient occlusion이 등장해요. 패턴은 일관적이에요. 아티스트들은 글로벌 일루미네이션의 지름길로 AO에 지나치게 의존하거나, 반대로 꺼버려서 오브젝트가 땅에서 떠다니는 느낌의 결과물을 만들어요. AO가 실제로 무엇을 계산하는지 이해하면 두 가지 실수 모두 해결할 수 있어요.
이 가이드는 ambient occlusion의 기본 원리를 설명하고, 2026년 주요 엔진에서 제공하는 세 가지 실시간 알고리즘(SSAO, HBAO, GTAO)을 살펴본 뒤, AO 베이킹을 단일 워크스테이션에서 처리할 때와 렌더팜이 필요한 때를 구분해요. 자주 받는 질문에 대한 빠른 답변은 아래 FAQ 섹션을 참고하세요.
앰비언트 오클루전이란 무엇인가요
Ambient occlusion은 각 표면 지점에 얼마나 많은 주변광이 도달하는지를 근처 지오메트리가 얼마나 "가리고 있는지"를 확인해 근사하는 셰이딩 기법이에요. 벽과 바닥이 만나는 모서리는 동일한 바닥 중앙부보다 주변광을 덜 받아요. 상반구에서 들어오는 광선을 더 많은 지오메트리가 막고 있기 때문이에요. AO는 그 모서리를 어둡게 처리해요. 이것이 효과의 전부예요.
AO가 보편화된 이유는 경제성이에요. 완전한 글로벌 일루미네이션 계산 — 모든 표면에서 광선을 반사시키고 정확하게 적분하는 작업 — 은 비용이 많이 들어요. AO는 셰이딩 지점에서 짧은 거리의 광선만 샘플링해 GI의 특정 구성 요소(주변광·하늘빛의 로컬 자기 그림자)를 저렴하게 포착해요. 오프라인 렌더링에서는 일반적으로 완전한 GI를 원하기 때문에 AO를 비활성화하거나 미묘한 접촉 그림자 강화 용도로만 사용해요. 실시간 렌더링에서는 AO가 역사적으로 간접 그림자의 유일한 실행 가능한 근사치였기 때문에 모든 게임 엔진이 최소 한 가지 AO 알고리즘을 제공해요.
흔히 오해하는 내용을 짚어드릴게요.
- AO는 광원으로부터의 그림자가 아니에요. 조명 위치와 무관하게 어둡게 처리되는 이유는 전체 주변 반구의 차폐를 나타내기 때문이에요.
- AO는 글로벌 일루미네이션이 아니에요. 실제 GI는 표면 사이에서 간접광의 색상과 밝기를 반사시켜요. AO는 어둡게 만들 뿐이에요. AO를 GI의 대체제로 쓰면 archviz 렌더가 탁해지는 흔한 원인이 돼요.
- AO는 자동으로 물리적으로 정확한 게 아니에요. 결과는 알고리즘과 설정한 최대 광선 거리에 따라 완전히 달라져요. 반지름을 너무 크게 키우면 깔끔한 인테리어가 어두운 동굴처럼 변해요.
Blender 매뉴얼은 Ambient Occlusion 셰이더 문서에서 오프라인 AO 노드를 다루고 있어요. 샘플링의 실제 수식을 읽고 싶은 분께 유용한 참고 자료예요.
SSAO vs HBAO vs GTAO: 세 가지 알고리즘, 하나의 효과
2026년 게임 엔진에서 볼 수 있는 세 가지 알고리즘은 모두 같은 시각적 목표를 추구하지만, 속도·품질·시점 안정성의 트레이드오프가 달라요.
| 알고리즘 | 도입 연도 | 샘플링 대상 | 전형적인 비용 (1080p, RTX 클래스 GPU) | 장점 | 단점 |
|---|---|---|---|---|---|
| SSAO (Screen-Space AO) | 2007년 (Crytek, Crysis) | 각 픽셀 주변 스크린 공간의 무작위 샘플, 뎁스 버퍼만 사용 | ~0.3–0.8 ms | 매우 저렴, 모든 엔진에 탑재 | 노이즈, 실루엣 주변 헤일로, 시점에 따른 깜빡임 |
| HBAO / HBAO+ (Horizon-Based AO) | 2008년 (NVIDIA) | 뎁스 버퍼에서 여러 방향으로 광선을 진행시켜 수평선 각도 탐색 | ~0.8–1.5 ms | SSAO보다 부드러움, 헤일로 감소, 지오메트리 인식 | 비용 더 높음, 여전히 스크린 공간, 화면 밖 차폐물 누락 가능 |
| GTAO (Ground-Truth AO) | 2016년 (Activision/Intel) | 가시성 콘을 해석적으로 적분, 오프라인 레이 트레이싱 AO와 일치하도록 도출 | ~1.0–2.0 ms | 레이 트레이싱 참조와 가장 유사, 움직임에서도 안정적, 교정된 폴오프 | HBAO보다 약간 비쌈, 반지름·폴오프 세심한 튜닝 필요 |
NVIDIA의 Image-Space Horizon-Based Ambient Occlusion 원본 논문은 수평선 기반 알고리즘 계열의 표준 참고 자료예요. Activision의 Practical Real-Time Strategies for Accurate Indirect Occlusion (GTAO 백서)는 AMD와 Intel이 이후 채택한 GTAO 유도 과정을 설명해요.
유용한 사고 모델을 제시할게요. SSAO는 눈에 띄는 아티팩트가 있는 빠른 편법이에요. HBAO는 지오메트리를 인식하는 더 스마트한 편법이에요. GTAO는 오프라인 참조값에 맞게 교정되어 있어 여유가 있을 때 선택하는 알고리즘이에요. 최근 3~4년 사이 출시된 GPU라면 세 가지 모두 1080p에서 사실상 무료 수준이에요. 선택 기준은 프레임 레이트가 아니라 품질과 움직임 안정성이에요.
레이 트레이싱 AO(RTAO)라는 별도의 계보도 존재해요. GPU의 하드웨어 레이 트레이싱 유닛을 사용해 픽셀당 실제 광선을 쏘는 방식이에요. 반사와 그림자에 레이 트레이싱 예산을 쓰고 남은 여유가 있을 때 선택하는 방식이며, 실시간에서 "ground truth"에 가장 가깝지만 저사양 GPU에서의 비용 때문에 아직 대부분의 엔진에서 기본값은 아니에요.
앰비언트 오클루전을 켜야 할까요, 꺼야 할까요
이 주제에서 가장 많이 검색되는 질문 중 하나예요("ambient occlusion on or off"). 답은 무엇을 하고 있느냐에 따라 달라져요.
게임 플레이의 경우, AO는 거의 항상 켜두는 게 좋아요. 가구, 식물, 캐릭터 아래의 접촉 그림자로 인한 시각적 향상이 크고, RTX 20 시리즈 이후 하드웨어에서는 비용이 1자릿수 밀리초 수준이에요. 꺼두면 도움이 되는 경우는 고주사율 모니터를 사용하는 구형 GPU뿐이에요.
DCC 소프트웨어의 실시간 미리보기(Eevee, Cinema 4D 뷰포트, 3ds Max 뷰포트)에서는 AO가 블로킹과 조명 결정에 유용하지만 최종 이미지 판단 기준으로는 사용하지 않는 게 좋아요. 뷰포트 AO는 보통 저품질 SSAO 근사값이에요. 뷰포트 AO를 기반으로 조명 결정을 내렸다가 최종 렌더에서 사라지는 경우를 실제로 많이 봤어요.
최종 오프라인 렌더링(Cycles, V-Ray, Corona, Arnold, Redshift)의 경우, 답이 좀 더 복잡해요. 씬에서 완전한 GI 계산 — Cycles 패스 트레이싱, V-Ray 브루트 포스 또는 라이트 캐시, Corona의 패스 트레이서, Arnold의 GI — 을 사용한다면 AO는 이미 간접 조명에 암묵적으로 반영되어 있어요. 명시적인 AO 패스를 추가하면 이미지가 필요 이상으로 어두워질 수 있어요. 물리적으로 정확한 GI가 목표가 아닌 스타일라이즈드 또는 NPR 파이프라인에서는 명시적 AO 패스가 유용한 접촉 음영을 추가할 수 있어요. 이 경우 별도의 렌더 엘리먼트로 베이킹해두면, 뷰티에 굽지 않고 컴포지팅에서 기여도를 조정할 수 있어요.
요약하면 이래요. 게임에서는 켜두세요. 완전한 GI가 있을 때는 최종 이미지 효과로는 꺼두세요. 스타일라이즈드 컨트롤이 필요할 때는 패스로 베이킹하세요.
게임과 오프라인 렌더링에서의 앰비언트 오클루전
실시간 엔진과 오프라인 렌더러에서의 AO 사이에는 많은 혼란을 설명하는 구조적 차이가 있어요.
실시간 AO는 뎁스 버퍼에서 동작해요. 엔진은 이미 씬을 래스터라이즈했고, 픽셀당 뎁스(와 보통 노멀)를 보유하고 있어요. AO 패스는 스크린 공간에서 인접 픽셀을 탐색해 차폐를 추정해요. 이 방식은 빠르지만 두 가지 구조적 한계가 있어요. 화면 밖의 오브젝트는 차폐에 기여하지 않아요(카메라 프러스텀 바로 밖의 벽은 보이는 오브젝트의 모서리를 어둡게 만들지 않아요). 또한 샘플링 패턴을 노이즈와 시점 방향 깜빡임을 피하도록 세심하게 조정해야 해요.
오프라인 AO는 실제 씬 지오메트리에서 동작해요. 렌더러는 각 셰이딩 지점에서 광선을 쏘아 진짜 3D 공간에서 차폐를 측정해요. 샘플당 더 느리지만 카메라가 움직여도 깜빡이지 않고 화면 밖 차폐물을 놓치지 않는 안정적인 ground-truth 결과를 만들어요. 대부분의 프로덕션 렌더러는 오프라인 AO를 노드(Blender Cycles, Arnold) 또는 렌더 패스(V-Ray, Corona, Redshift)로 제공해요.
"뷰포트와 최종 렌더에서 AO가 왜 다르게 보이나요?"라고 묻는 아티스트가 있다면, 답은 거의 항상 이것이에요. 뷰포트는 스크린 공간 AO를 실행하고 최종 렌더는 실제 지오메트리 광선을 사용해 월드 공간에서 계산해요. 서로 다른 알고리즘이 서로 다른 이미지를 만드는 거예요.
GPU 측 더 깊은 내용은 GPU 클라우드 렌더팜 페이지에서 RTX 클래스 하드웨어를 실시간·오프라인 GPU 렌더링 워크로드에 구성하는 방법을 다루고 있어요.
AO 베이킹이 프로덕션 속도를 늦추는 이유
프로덕션 팀이 주목해야 할 성능 문제는 실시간 AO가 아니에요 — 2026년에 실시간 AO는 사실상 무료예요. 진짜 파이프라인 병목은 오프라인 AO 베이킹이에요.
AO 베이킹이란 UV 맵의 모든 텍셀에 대해 AO 값을 사전 계산하고 텍스처에 저장하는 것이에요. 게임 파이프라인(런타임에 AO를 실시간으로 계산하는 대신 베이킹된 AO 맵을 샘플링)과 일부 archviz 워크플로우의 정적 조명에서 널리 사용돼요. 비용은 씬 복잡도, 텍스처 해상도, 광선 수 세 가지 요소에 따라 결정돼요.
아래는 Super Renders Farm 플리트에서 클라이언트 작업을 실행해 얻은 대표적인 베이킹 시간 표예요. 이 수치는 표준 CPU 노드(Dual Intel Xeon E5-2699 v4, 44코어, 256 GB RAM)에서 Blender Cycles의 CPU 베이킹 기준이에요. 단일 워크스테이션에서는 훨씬 오래 걸려요.
| 씬 유형 | 폴리곤 수 | UV 맵 해상도 | 텍셀당 샘플 수 | 노드당 소요 시간 | 비고 |
|---|---|---|---|---|---|
| 히어로 프롭, 단순 구조 | ~50K | 2048² | 256 | 2–3분 | 간단한 베이킹, 단일 워크스테이션으로 충분 |
| 건축 인테리어, 단일 룸 | ~500K | 4096² | 512 | 25–40분 | 경계선 — 데드라인에 따라 다름 |
| 식생 포함 전체 archviz 외관 | ~5M | 4096² × 8타일 | 512 | 4–6시간 | 워크스테이션에서는 고통스럽고, 렌더팜에서는 빠름 |
| 게임 환경, 전체 레벨 베이킹 | ~10M | 8 × 4096² 아틀라스 | 1024 | 10–18시간 | 워크스테이션 하루 종일 블로킹 |
| 시네마틱 에셋 라이브러리 베이킹 배치 | 다양 | 다양 | 512–1024 | 총 30–80시간 | 워크스테이션에서는 순차적, 렌더팜에서는 병렬 처리 |
저희 경험상 단일 베이킹의 손익분기점은 약 30분이에요. 그 이하에서는 씬 패키징, 업로드, 결과 다운로드의 오버헤드가 절약되는 시간을 초과해요. 그 이상, 특히 아티스트가 베이킹 완료를 기다리며 손 놓고 있을 때는 여러 머신에 작업을 분산시키는 게 확실히 유리해요. 타일 기반 베이커(Blender, V-Ray, Arnold)는 각 타일이 독립적인 작업이기 때문에 특히 잘 병렬화돼요.
Super Renders Farm에서 가장 많이 보이는 패턴은 프로덕션의 에셋 최종화 단계예요. 수십 개의 프롭이 새 AO 베이킹이 필요하고, 아티스트들이 블로킹된 상황에서 렌더팜이 대기열을 하룻밤 사이에 처리해줘요. 가격 정보는 렌더팜 가격 가이드를, 플리트 벤치마크 수치는 Cinebench 2026 렌더팜 하드웨어 벤치마크를 참고하세요.
주요 DCC 소프트웨어에서의 앰비언트 오클루전
주요 DCC 소프트웨어마다 AO 구현 방식이 조금씩 달라서, 실용적인 조언도 패키지별로 달라져요.
Blender는 세 곳에서 AO를 제공해요. Eevee 뷰포트 AO 토글(빠른 SSAO/HBAO 스타일 근사값), Cycles AO 노드(셰이더 수준 사용, 예: 머티리얼의 dirt 마스크), Cycles AO 렌더 패스(뷰티와 함께 출력되는 진정한 레이 트레이싱 AO 패스)예요. 대부분의 팀이 사용하는 워크플로우는 Bake 패널을 통한 Cycles AO 베이킹이에요. 위 베이킹 시간 표는 Cycles에서 측정한 값이에요. 단일 워크스테이션에서 Blender를 실행하는 아티스트는 Blender 클라우드 렌더팜 페이지에서 Cycles AO 베이킹이 플리트에서 어떻게 확장되는지 확인할 수 있어요.
Cinema 4D는 Standard/Physical 렌더러와 Redshift 모두에서 AO를 제공해요. Redshift에서 AO는 보통 GI의 대체제가 아닌 셰이더 효과나 컴포지팅 패스로 사용해요. Cinema 4D 클라우드 렌더팜 페이지에서 Redshift 전용 구성을 확인할 수 있어요. C4D + Redshift 사용자 대부분은 AO를 렌더 엘리먼트로 계산한 뒤 After Effects에서 합성해요.
3ds Max V-Ray는 전용 VRayDirt 머티리얼과 VRayExtraTex AO 렌더 엘리먼트를 제공해요. Dirt 방식은 머티리얼별로 폴오프, 블러, 반전 차폐(cavity)를 제어할 수 있어 더 유연하고, 렌더 엘리먼트 방식은 설정이 빠르지만 조정 가능성이 낮아요. 3ds Max Corona 사용자라면 CoronaAO 맵이 동일한 역할을 해요.
Arnold(Maya, Houdini, 3ds Max에서 사용)는 AO를 단순히 또 다른 샘플링 문제로 취급하며 aiAmbientOcclusion 셰이더와 ambient_occlusion AOV를 통해 제공해요. Arnold는 강력한 중요도 샘플링을 갖춘 단방향 패스 트레이서이기 때문에 동일한 샘플 수에서 일부 다른 렌더러보다 AO 베이킹이 더 빠르게 수렴해요.
공통점이 있어요. 어떤 DCC 소프트웨어든 AO를 뷰티 렌더의 GI 대체제로 쓰지 말고, 컴포지팅하는 별도 패스로 취급하세요. 이렇게 하면 워크플로우가 유연해지고 씬을 다시 렌더링하지 않고 포스트에서 AO 기여도를 변경할 수 있어요.
FAQ
Q: 앰비언트 오클루전이란 간단히 무엇인가요? A: Ambient occlusion은 지오메트리가 표면에 도달하는 주변광을 차단하는 영역 — 벽과 바닥이 만나는 모서리 같은 곳 — 을 어둡게 처리하는 셰이딩 기법이에요. 글로벌 일루미네이션의 특정 구성 요소를 저렴하게 근사하기 때문에 모든 게임 엔진과 오프라인 렌더러에서 구현체를 제공해요. Q: 게임에서 앰비언트 오클루전을 켜야 하나요, 꺼야 하나요? A: 거의 모든 경우에 켜는 걸 권장해요. 가구, 캐릭터, 식물 아래의 접촉 그림자로 인한 시각적 개선 효과가 크고, 최근 몇 년 사이 출시된 GPU에서는 프레임당 2ms 미만의 비용이에요. 꺼두는 게 도움이 되는 경우는 매 밀리초가 중요한 구형 하드웨어뿐이에요. Q: SSAO, HBAO, GTAO의 차이점은 무엇인가요? A: SSAO는 2007년의 원조 스크린 공간 알고리즘이에요. 빠르지만 눈에 띄는 헤일로가 있는 노이즈가 발생해요. HBAO는 뎁스 버퍼에서 광선을 진행시켜 수평선 각도를 찾아 더 부드러운 결과를 만들어요. GTAO는 세 가지 중 가장 최근 알고리즘으로 오프라인 레이 트레이싱 AO와 일치하도록 교정되어 움직임에서 가장 안정적이에요. 세 가지 모두 스크린 공간에서 동작하며 최신 GPU에서 비용이 비슷해요. Q: 앰비언트 오클루전과 글로벌 일루미네이션은 같은 건가요? A: 아니에요. 글로벌 일루미네이션은 표면 사이에서 간접광의 색상과 밝기를 반사시켜요. Ambient occlusion은 광원의 색상이나 강도 없이 로컬 지오메트리 차폐에 기반해 영역을 어둡게 처리할 뿐이에요. AO를 GI 대체제로 사용하면 archviz 렌더가 탁하거나 평평해 보이는 흔한 원인이 돼요. Q: AO 베이킹에 렌더팜이 실제로 필요한 때는 언제인가요? A: 에셋당 베이킹이 약 30분 이상 걸릴 때, 병렬로 처리할 에셋이 많을 때, 또는 아티스트가 결과를 기다리며 블로킹될 때예요. Super Renders Farm 플리트에서는 대부분의 프로덕션 팀이 에셋 최종화 단계에서 베이킹을 렌더팜으로 이전하는 것을 확인해요. 보통 단일 워크스테이션에서 순차적으로 처리하면 며칠이 걸릴 수십 개의 프롭을 분산 처리하면 하룻밤 사이에 완료해요. Q: 뷰포트와 최종 렌더에서 AO가 다르게 보이는 이유는 무엇인가요? A: 뷰포트는 거의 항상 스크린 공간 근사값(빠른 SSAO 또는 HBAO 변형)을 사용하는 반면, 최종 오프라인 렌더는 실제 지오메트리 광선을 사용해 월드 공간에서 AO를 계산해요. 서로 다른 알고리즘이 서로 다른 이미지를 만들어요. 최종 조명 결정을 위해서는 뷰포트 AO를 믿지 말고 저샘플 미리보기 렌더를 실행하세요. Q: 오프라인 렌더링에서 AO를 렌더 패스로 사용할 수 있나요? A: 네, 스타일라이즈드 컨트롤이 필요할 때 권장하는 워크플로우예요. 모든 주요 렌더러(Cycles, V-Ray, Corona, Arnold, Redshift)는 AO를 별도의 렌더 엘리먼트 또는 AOV로 제공해요. 뷰티 렌더와 함께 출력한 뒤 컴포지팅에서 합성하세요. 이렇게 하면 씬을 다시 렌더링하지 않고 AO 기여도를 조정할 수 있어요.
About Alice Harper
Blender and V-Ray specialist. Passionate about optimizing render workflows, sharing tips, and educating the 3D community to achieve photorealistic results faster.


