TECHARTNOMAD | MAZELINE.TECH

TECH.ART.FLOW.IO

[번역][FAB] VBAO – Visibility Bitmask Ambient Occlusion

jplee 2026. 5. 27. 23:00

저자: troupfonel@gmail.com

개요

VBAO는 언리얼 엔진 5용 고성능 앰비언트 오클루전(Ambient Occlusion) 플러그인입니다. 이 플러그인은 기존 GTAO의 발전되고 현대화된 대안 역할을 하는 가시성 비트마스크(Visibility Bitmask) 알고리즘을 기반으로 합니다.


작동 원리

다음 연구 논문을 기반으로 합니다: https://arxiv.org/abs/2301.11376

어떤 지점이 가려져 있는지(occluded) 판단하기 위해 기존의 레이 마칭(ray marching)을 사용하는 대신, 가시성 비트마스크 알고리즘은 표면 위 반구(hemisphere)를 불연속적인 각도 섹터로 나눕니다. 주변 지오메트리를 샘플링하면서 특정 방향이 물체에 의해 막혀 있는지 여부를 나타내기 위해 비트마스크에 "비트(bits)"를 설정합니다.

이 비트마스크를 분석하여 알고리즘은 앰비언트 라이트가 얼마나 차단되었는지 빠르게 계산할 수 있습니다. 이 접근 방식은 기존 SSAO/GTAO 기법과 관련된 일반적인 시각적 아티팩트를 방지하고, 우수한 다중 레이어 오클루전을 제공하며, 매우 효율적인 시간적(temporal) 노이즈 감소를 가능하게 합니다. 그 결과 더 풍부하고 물리적으로 그럴싸한 셰이딩 효과를 얻을 수 있습니다.

시작하기


  1. 콘솔 명령어를 사용하여 기본 AO를 비활성화합니다: r.AmbientOcclusionLevels 0 r.Lumen.ScreenProbeGather.ShortRangeAO 0
  2. 플러그인 설정에서 VBAO 플러그인을 활성화합니다.
  3. 콘솔 명령어 r.VBAO.Enabled 1을 사용하여 효과가 켜져 있는지 확인합니다.

최상의 결과를 얻으려면 TAA 또는 TSR 안티앨리어싱을 사용하세요. r.AntiAliasingMethod 2 시간적 누적(Temporal accumulation)은 AO 노이즈를 줄이고 프레임 간에 효과를 안정화하는 데 도움이 됩니다. Temporal AA가 없으면 특히 낮은 퀄리티 설정에서 AO가 눈에 띄게 노이즈가 많아 보일 수 있습니다.

파라미터


아래는 플러그인에서 제공하는 주요 파라미터입니다.


퀄리티 (Quality)

r.VBAO.Quality

기본값: 2

앰비언트 오클루전의 전반적인 퀄리티 프리셋을 제어합니다. 값이 높을수록 더 많은 샘플을 채취하여 더 부드럽고 정확한 결과를 생성하지만 성능 비용이 증가합니다.

Quality: 1

성능 ≈ 0.4ms 1080p / RTX 2060

Quality: 2

성능 ≈ 0.6ms 1080p / RTX 2060

Quality: 3

성능 ≈ 0.8ms 1080p / RTX 2060

Quality: 4

성능 ≈ 1.6ms 1080p / RTX 2060


강도 (Intensity)

r.VBAO.Intensity

기본값: 0.5

앰비언트 오클루전의 전반적인 어둡기 효과를 곱합니다. 더 강하고 어두운 그림자를 원하면 이 값을 늘리고, 더 미묘하고 자연스러운 느낌을 원하면 값을 줄이세요.

Intensity: 0.5

Intensity: 1.5


반경 (Radius)

r.VBAO.Radius

기본값: 73.0

오클루전 샘플이 도달할 수 있는 최대 월드 공간 거리를 제어합니다. 반경이 크면 큰 구조물이 먼 표면에 오클루전을 드리울 수 있고, 반경이 작으면 좁은 모서리와 작은 디테일에 오클루전이 제한됩니다.

Radius: 10.0

Radius: 73.0

패스 트레이싱(Path Traced) AO와 일치하도록 최적화되었습니다. 이 값을 변경하면 물리적 정확도가 떨어질 수 있습니다.


두께 (Thickness)

r.VBAO.Thickness

기본값: 30.0

뒤쪽의 오클루전을 처리하기 위해 뎁스 버퍼에서 오브젝트의 가정된 두께를 나타냅니다. 얇은 벽이나 표면을 통해 앰비언트 오클루전이 잘못 "새는(leaking)" 현상이 발견되면 이 값을 조정하세요.

Thickness: 30.0

Thickness: 300.0

패스 트레이싱(Path Traced) AO와 일치하도록 최적화되었습니다. 이 값을 변경하면 물리적 정확도가 떨어질 수 있습니다.


멀티 바운스 (Multi Bounce)

r.VBAO.MultiBounce

기본값: 1

표면의 알베도(albedo)를 고려하여 틈새 내부의 빛 반사(bouncing)를 근사화합니다. 이는 오클루전 그림자가 부자연스럽게 검게 보이는 것을 방지하고 색상이 있는 환경과 유기적으로 섞이도록 돕습니다.

MultiBounce: 0

MultiBounce: 1


템포럴 지터 (Temporal Jitter)

r.VBAO.TemporalJitter

기본값: 1

프레임 전반에 걸쳐 템포럴 지터링을 활성화합니다. 엔진의 안티앨리어싱(TAA/TSR)과 결합할 경우, 많은 비용이 드는 공간 샘플(spatial samples) 수 없이도 노이즈를 크게 줄이고 오클루전 효과를 안정화합니다.

TemporalJitter: 0

TemporalJitter: 1


포그 감쇠 (Fog Attenuation)

r.VBAO.Fog

기본값: 0.0

이 명령어는 씬의 포그와 상호 작용할 때 앰비언트 오클루전이 페이드 아웃되는 방식을 제어합니다. 거리나 대기에 의해 가려질 때 음영 처리된 영역이 부자연스럽게 어둡거나 "단절되어" 보이지 않도록 합니다.

값 (Value) 모드 (Mode) 설명 (Description)
0 자동 (Auto) 플러그인이 현재 포그 설정에 따라 동적으로 AO의 균형을 맞춥니다.
>0 수동 (Manual) 직접적인 강도 승수 역할을 합니다.
이 값을 사용하여 시스템을 오버라이드하고 특정 예술적 룩을 위해 AO가 포그를 얼마나 뚫고 보여야 하는지 수동으로 조정할 수 있습니다.

Fog Attenuation: 0.0

Fog Attenuation: 1.0


출력 모드 (Output Mode)

r.VBAO.OutputMode

기본값: 0

오클루전 효과가 렌더링되고 씬에 통합되는 방식을 결정합니다.

 

값 (Value)  모드 (Mode) 설명 (Description)
0 커스텀 합성 (Custom Composite) 표준 엔진 파이프라인에서 완전히 분리되어 모든 곳에 AO를 적용합니다. 네이티브 UE5 AO 합성은 조명과 강하게 연결되어 있어 밝은 영역에서는 종종 페이드 아웃됩니다. 이 모드는 AO를 강력하고 눈에 띄게 유지합니다. 커스텀 컴포지터를 사용하기 때문에 가끔 아티팩트가 발생할 수 있습니다. 포그 감쇠(Fog Attenuation)와 같은 기능은 이를 관리하는 데 도움을 주기 위해 존재합니다.
1 네이티브 SSAO 버퍼 (Native SSAO Buffer) 엔진의 표준 ScreenSpaceAO 버퍼에 직접 기록합니다. 커스텀 합성 아티팩트를 완전히 피하고 AO가 표준 UE5 조명 규칙을 따르도록 하려면 이 모드를 사용하세요.

Output Mode: 0

Output Mode: 1

커스텀 컴포지터를 우회하면 포그 감쇠(Fog Attenuation), 멀티 바운스(Multi Bounce) 및 디버그 모드가 비활성화된다는 점에 유의하세요.

FAB

VBAO - Visibility Bitmask Ambient Occlusion

 

VBAO - Visibility Bitmask Ambient Occlusion

| DOCUMENTATION |VBAO is a modernized evolution of GTAO. It provides a massive upgrade in visual quality while maintaining equivalent performance to GTAO.The bitmask algorithm calculates actual object thickness at native resolution to deliver sharp contact

www.fab.com


원문

VBAO Docs | VBAO

 

VBAO Docs | VBAO

 

ark-kra.gitbook.io

 

언리얼 포럼

ARK.KRA - VBAO - Visibility Bitmask Ambient Occlusion - Distribution / Product Discussion - Epic Developer Community Forums

 

ARK.KRA - VBAO - Visibility Bitmask Ambient Occlusion

| DOCUMENTATION | VBAO is a modernized and highly optimized evolution of GTAO, It provides a massive upgrade in visual quality without the usual performance drop. The standard Unreal Engine 5 GTAO takes about 3ms at 1080p, VBAO drops this cost to just 0.6m

forums.unrealengine.com

 


Shader Toy

https://www.shadertoy.com/view/3clGWB