안티 에일리어싱(Anti-Aliasing) 은 에지 및 오브젝트에서 들쭉날쭉하거나 계단 모양의 선을 제거하여 매끄럽게 만드는 프로세스를 가리킵니다. 이런 타입의 비주얼 아티팩트를 최소화하기 위해 다양한 안티 에일리어싱 방식이 제공됩니다. 일부는 특정 렌더러 및 플랫폼에서 사용하기 위해 개발되지만 퍼포먼스 및 퀄리티 향상에 이상적인 방식도 있습니다.


안티 에일리어싱 방식
다양한 안티 에일리어싱 방식이 개발되어 있지만 언리얼 엔진은 프로젝트의 필요와 요구 사항에 따라 선택할 수 있는 몇 가지 방식을 제공합니다. 사용자는 데스크톱/콘솔 및 모바일 플랫폼을 위한 안티 에일리어싱 방식 중에서 선택할 수 있습니다.
언리얼 엔진은 프로젝트에서 다음과 같은 안티 에일리어싱 방식을 제공합니다.
안티 에일리어싱 방식 | 데스크톱/콘솔: 디퍼드 렌더러 | 데스크톱/콘솔: 포워드 렌더러 | 모바일: 디퍼드 렌더러 | 모바일: 포워드 렌더러 |
---|---|---|---|---|
템포럴 슈퍼 해상도(TSR) | 지원 | 지원 | 지원 안 함 | 지원 안 함 |
템포럴 안티 에일리어싱 업샘플링(TAAU) | 지원 | 지원 | 지원 | 지원 안 함 |
빠른 어프록시메이트 안티 에일리어싱(FXAA) | 지원 | 지원 | 지원 | 지원 안 함 |
멀티 샘플 안티 에일리어싱(MSAA) | 지원 안 함 | 지원 | 지원 안 함 | 지원 |
아래 이미지 슬라이더를 사용하면 스태틱 씬을 보여주는 단일 프레임 캡처를 통해 안티 에일리어싱 방식이 적용된 이미지와 그렇지 않은 이미지의 결과를 비교할 수 있습니다. 안티 에일리어싱 결과를 가장 확실하게 확인하려면 다양한 에셋과 머티리얼을 추가하고 자유롭게 움직일 수 있는 씬에서 테스트해야 합니다.
이미지 시퀀스 안티 에일리어싱 미적용, TSR, TAA, FAA, MSAA





슬라이더를 드래그하여 안티 에일리어싱이 적용되지 않은 결과와 TSR, TAA, FAA 및 MSAA(포워드 렌더러)가 적용된 결과를 각각 확인해보세요.
안티 에일리어싱 엔진 퀄리티 세팅
안티 에일리어싱 세팅의 엔진 퀄리티 세팅(Engine Scalability Settings) 에는 자체 엔진 퀄리티 그룹이 있습니다. 이는 GPU 비용을 각 방식의 안티 에일리어싱 퀄리티에 따라 조절합니다. 엔진 퀄리티 그룹은 각 안티 에일리어싱 방식의 콘솔 변수를 제어합니다.
엔진 퀄리티 세팅 의 세팅(Settings) 드롭다운 메뉴에서 안티 에일리어싱(Anti-Aliasing) 엔진 퀄리티 세팅에 액세스할 수 있습니다.

퀄리티는 낮음(Low) 부터 시네마틱(Cinematic) 까지의 옵션 중에서 선택하여 제어할 수 있으며, 자동(Auto) 을 사용하면 에디터가 시스템을 테스트하고 최적의 옵션을 선택합니다. 또는 안티 에일리어싱이나 섀도 등 특정 기능의 퀄리티를 조정할 수 있습니다.

각 '엔진 퀄리티 세팅' 항목은 DefaultScalability.ini 파일에서 찾을 수 있는 환경설정 가능한 콘솔 변수 세트에 해당합니다. 원하는 퀄리티 세팅을 기반으로 프로젝트에 맞게 편집할 수 있습니다.
콘솔 변수 구성 및 환경설정에 대한 자세한 내용은 엔진 퀄리티 세팅을 참고하세요. 이는 고급 워크플로입니다.
안티 에일리어싱 방식 선택
창(Window) 의 메인 메뉴에서 프로젝트 세팅(Project Settings) 을 엽니다. '프로젝트 세팅'의 엔진(Engine) > 렌더링((Rendering) 세팅에서 안티 에일리어싱 세팅을 찾을 수 있습니다.
데스크톱/콘솔 플랫폼의 경우 안티 에일리어싱 세팅은 디폴트 세팅(Default Settings) 섹션에 있습니다.

모바일 플랫폼의 경우 안티 에일리어싱 세팅은 모바일(Mobile) 섹션에 있습니다.

템포럴 슈퍼 해상도
템포럴 슈퍼 해상도, 즉 TSR(Temporal Super Resolution)은 플랫폼에 구애받지 않는 템포럴 업스케일 툴입니다. 주로 프레임의 더 많은 GPU 사이클을 템포럴 업스케일링 퀄리티에 투자하여 총 GPU 프레임 비용을 절감하는 데 초점을 맞추는 알고리즘을 사용합니다. 이를 위해 언리얼 엔진 4의 템포럴 안티 에일리어싱 업샘플링에서보다 훨씬 낮은 내부 해상도를 렌더링합니다.
TSR은 네이티브 고퀄리티 업샘플링 기법으로, 나나이트 마이크로폴리곤 지오메트리로 구현 가능한 디테일과 퀄리티를 확보하여 차세대 게임의 요구 사항을 충족합니다.
아래 비교는 네이티브 4K 해상도로 렌더링된 캡처 프레임과 1080p 해상도 4K 업스케일로 렌더링된 캡처 프레임의 퀄리티 및 퍼포먼스가 어떻게 다른지 보여줍니다. TSR은 4K 해상도에 가까운 이미지 퀄리티를 구현하면서도 GPU 프레임 시간을 절반으로 줄여줍니다.


네이티브 4K 해상도로 렌더링된 4K 프레임 -- 프레임 시간: 57.50ms / 1080p 해상도로 렌더링된 4K 프레임(r.ScreenPercentage=50) -- 프레임 시간: 33.37ms
위에서 비교한 각 이미지는 이 페이지의 너비에 맞게 제한된 4K 이미지입니다. 압축되지 않은 전체 해상도로 보려면 각 이미지를 우클릭하고 컴퓨터에 저장하거나 새 브라우저 창에서 여세요.
템포럴 슈퍼 해상도의 특징은 다음과 같습니다.
- 렌더링된 프레임이 1080p로 낮은 입력 해상도에서도 네이티브 4K에 가까운 퀄리티를 보여줍니다.
- 높은 주파수의 배경에 발생하는 '고스팅' 아티팩트가 언리얼 엔진 4의 디폴트 템포럴 안티 에일리어싱 방식에 비해 적습니다.
- 복잡도가 높은 지오메트리에서 깜빡임 현상이 감소합니다.
- 콘솔 플랫폼에서 동적 해상도 스케일링을 지원합니다.
- D3D11, D3D12, Vulkan, Metal, PlayStation 5, Xbox Series S | X를 지원하는 모든 하드웨어에서 실행됩니다.
- 셰이더가 PlayStation 5 및 Xbox Series S | X GPU 아키텍처에 최적화되어 있습니다.
렌더링 체인에서 TSR은 뎁스 오브 필드 후에 발생하며 이후에 오는 모든 렌더링 대상이 업스케일링됩니다.

GPU 비용 확장성
지원되는 플랫폼에서 템포럴 슈퍼 해상도를 사용할 수 있지만, 프로젝트의 필요에 따라 각 플랫폼의 업스케일링 세팅을 커스터마이징하는 것이 좋습니다.
아래 섹션에는 프로젝트에서 TSR을 체크하고 적절하게 스케일 조절하는 방법이 정리되어 있습니다.
콘솔 변수
엔진 퀄리티 세팅은 모든 플랫폼에에서 TSR의 퀄리티를 조절합니다. 이 세팅은 낮음 부터 시네마틱 까지 사전 정의된 엔진 퀄리티 그룹을 사용합니다. 각 그룹은 안티 에일리어싱에 영향을 미치는 콘솔 변수 세트에 의해 정의됩니다.
DefaultScalability.ini 를 편집하면 프로젝트의 필요에 맞게 엔진 퀄리티 세팅을 환경설정할 수 있으며, 여러 엔진 퀄리티 그룹에서 콘솔 변수를 편집, 추가 및 제거할 수 있습니다. 콘솔을 열고 r.TSR
을 검색하여 에디터에서 환경설정 가능한 TSR 콘솔 변수를 탐색할 수도 있습니다.
프로젝트 조정 예시로는 오래된 데이터가 현재 프레임에 오류를 유발하는 것을 방지하기 위해 히스토리를 거부해야 할 때 사용되는 스페이셜 안티 에일리어싱 알고리즘이 있습니다. 더 높은 해상도 또는 프레임 레이트로 렌더링하려는 게임 프로젝트에서는 에일리어싱이 거부 대상이 아니므로 이 옵션이 필요하지 않을 수 있습니다.
TSR에 대한 히스토리 거부는 콘솔 명령 r.TSR.RejectionAntiAliasingQuality
를 사용하여 제어됩니다.
stat GPU
TSR의 주요 목표는 업스케일링입니다. GPU 작업의 대부분은 지정된 해상도를 기반으로 스케일이 조절됩니다.
콘솔에서 stat gpu
를 사용하면 GPU 통계 디스플레이를 열 수 있고, 이를 통해 프라이머리 스크린 퍼센티지를 조절하여 100% 스크린 퍼센티지와 50% 스크린 퍼센티지에서 렌더링될 때 퍼포먼스가 어떻게 다른지 확인할 수 있습니다. 에인션트의 협곡 샘플 프로젝트에서 캡처한 아래 예시가 이를 보여줍니다.
r.ScreenPercentage=100에서 ~0.79ms | r.ScreenPercentage=50에서 ~0.43ms |
이미지를 클릭하면 전체 크기로 표시됩니다. | 이미지를 클릭하면 전체 크기로 표시됩니다. |
시네마틱 TSR
템포럴 슈퍼 해상도에는 시네마틱 엔진 퀄리티 옵션이 포함되어 있으며, TSR 히스토리 스크린 퍼센티지가 200으로 설정되었을 때의 출력 해상도보다 해당 해상도를 약 2배 더 크게 설정합니다.
텍스처 밉 바이어스 자동 보기
스크린 퍼센티지는 지오메트리가 더 낮은 픽셀 밀도로 렌더링되도록 하며, 이 경우 템포럴 업샘플링이 동일한 출력 선명도를 유지하기 위해 표면(Surface) 및 디퍼드 데칼(Deferred Decal) 머티리얼 도메인에서 더 많은 텍스처 정보를 필요로 한다는 것을 의미합니다.
머티리얼 그래프(Material Graph) 에서 Texture Sample 노드를 선택하고 '디테일(Details)' 패널에서 밉 바이어스 자동 보기(Automatic View Mip Bias) 를 활성화하면 텍스처가 TSR, TAAU 등 템포럴 안티 에일리어싱 방식으로 더 선명한 출력을 구현하기 위해 뷰별 밉 바이어스로 샘플링할지 여부를 설정할 수 있습니다.

낮은 주파수의 디테일이 많거나 높은 주파수의 디테일을 가진 텍스처가 낮은 프라이머리 스크린 퍼센티지와 조합되는 경우 '밉 바이어스 자동 보기'를 사용하면 디테일의 선명도가 저하되는 문제가 발생할 수 있습니다. 이를 보정하려면 MipValueMode 를 MipBias 로 설정하여 일부 값을 Texture Sample 노드의 바이어스(Bias) 입력 또는 '디테일' 패널의 상수 밉 값(Const Mip Value) 에 적용하거나 '밉 바이어스 자동 보기'를 완전히 비활성화해야 합니다.

'밉 바이어스 자동 보기'는 TAAU 또는 TSR이 활성화된 경우에만 허용되며, MSAA 및 FXAA 같은 다른 안티 에일리어싱 방식에서는 이 세팅을 사용하지 않습니다.
TSR 이후 포스트 프로세스 머티리얼
'포스트 프로세스 머티리얼(Post Process Materials)'은 사용될 블렌더블 위치(Blendable Location) 를 선택해야 합니다. After Tonemapping 및 Replacing the Tonemapper 옵션은 렌더링 체인에서 TSR 이후 발생합니다. 이는 곧 전체 해상도에서 실행되고 뷰 크기와 다르다는 것을 의미합니다.

View Property 표현식에는 TSR이 파이프라인에서 발생하기 전에(실제로는 TSR 이후에 발생) 해상도를 반환하는 View Size 및 Render Target Size 옵션이 포함됩니다. TSR 이후의 뷰 크기 및 텍셀 UV 크기를 알려면 PostProcessInput0 을 사용하는 Scene Texture 표현식에서 Size 및 InvSize 출력을 사용하면 됩니다.

뷰포트 UV를 픽셀 위치에서 재계산하려면 아래 예시와 같이 SceneTexture:PostProcessInput0 을 ScreenPosition 으로 곱합니다.

템포럴 업스케일링의 숨겨진 추가 GPU 비용
템포럴 슈퍼 해상도 및 기타 템포럴 업스케일러는 렌더러의 포스트 프로세싱 체인 도중에 발생합니다. 즉, 모션 블러 또는 톤매퍼 등 TSR 이후 실행되는 패스는 이제 프라이머리 스크린 퍼센티지로 스케일 조절되지 않습니다. 스페이셜 업스케일러를 사용하는 세컨더리 스크린 퍼센티지가 없으면 프라이머리 스크린 퍼센티지는 렌더링 해상도가 아니라 디스플레이 해상도로 실행됩니다.
기본적으로 TSR이 활성화된 경우, TSR 이후 발생하는 패스의 숨겨진 템포럴 업스케일링 비용을 줄이는 데 많은 노력이 필요합니다.
모션 블러
모션 블러 최적화를 사용하면 낮은 해상도의 TV에서도 항상 2160p 백버퍼를 표시하는 PlayStation 5 및 Xbox Series X 등의 플랫폼에서 3배에 달하는 모션 블러 GPU 퍼포먼스 비용 개선 효과를 실현할 수 있습니다.
stat gpu
사용 시 TSR 비용 증가:- 모션 블러 활성화 및 비활성화 비교 시 TSR 비용은
stat gpu
를 사용한 경우 약간 증가할 수 있습니다. - 모션 블러가 활성화된 경우 TSR이 일반적으로 입력 해상도에서 실행되는 속도 평탄화(Velocity Flatten) 패스를 대체합니다. 이는 콘솔 명령
r.MotionBlur.AllowExternalVelocityFlatten
을 통해 제어되며 기본적으로 활성화됩니다. - TSR은 반해상도 씬 컬러를 출력하여 대규모 디렉셔널 블러 커널을 유발할 수 있는 메모리 대역폭의 병목 구간을 줄여줍니다. 이는 콘솔 명령
r.MotionBlur.HalfResInput
을 통해 제어되며 기본적으로 활성화됩니다.
- 모션 블러 활성화 및 비활성화 비교 시 TSR 비용은
- 디렉셔널 블러와 고해상도:
- 디스플레이 해상도에서 발생하는 디렉셔널 블러는 움직임이 클 경우 자동으로 반해상도로 실행되도록 최적화됩니다. 이 기능을 활성화하면 모션 블러의 VALU 비용이 줄어듭니다.
- 이 최적화를 활성화하려면 콘솔 명령
r.MotionBlur.HalfResGather 1
을 사용하면 됩니다.
- 모션 블러 반해상도 및 쿼터 해상도:
- 모션 블러는 반해상도 또는 쿼터 해상도를 출력할 수 있습니다. 이는 모션 블러 이후 실행되는 가우시안 블룸, 컨볼루션 블룸, 렌즈 플레어, 시각 순응(자동 노출) 및 로컬 노출에 중요합니다.
지원되는 플랫폼
템포럴 슈퍼 해상도는 셰이더 모델 5를 지원하는 모든 데스크톱 하드웨어에 걸쳐 데스크톱 렌더러에서 사용할 수 있습니다. 템포럴 슈퍼 해상도는 다음 플랫폼에서 지원됩니다.
- Windows D3D11 SM5, D3D12 SM5, D3D12 SM6, Vulkan SM5
- Linux Vulkan SM5
- Mac Metal SM5
- PlayStation 5 및 Xbox Series S | X
TSR의 업스케일링 퀄리티 및 행동은 모든 지원되는 플랫폼에서 완전히 같습니다. 하지만 TSR은 PlayStation 5 및 Xbox Series S에서 사용되는 AMD RDNA GPU에 특히 최적화되어 있습니다. | X 콘솔에서 사용되는 AMD RDNA GPU에 최적화되어 있으며 16비트 타입 및 패킹된 인스트럭션을 활용합니다.
템포럴 안티 에일리어싱 업샘플링
템포럴 안티 에일리어싱 업샘플링(Temporal Anti-Aliasing Upsampling) 은 각 프레임의 서로 다른 위치를 샘플링하고 이전 프레임을 사용하여 샘플을 함께 블렌딩함으로써 들쭉날쭉한 에지를 제거하여 매끄럽게 만듭니다.


TAAU의 퀄리티는 콘솔 변수 r.TemporalAA.Quality
를 통해 제어됩니다. 다음 값 중에서 선택할 수 있습니다.
- 0: 입력 필터링을 비활성화합니다.
- 1: 입력 필터링을 활성화합니다.
- 2: 모빌리티 기반 안티 고스팅과 함께 입력 필터링을 활성화합니다(디폴트).
엔진 퀄리티 세팅 을 사용하여 안티 에일리어싱 퀄리티를 변경할 수 있습니다.
렌더링 체인에서 TAAU는 기본적으로 스크린 퍼센티지와 함께 템포럴 업스케일러 환경설정을 사용합니다.

템포럴 업샘플링 비활성화
언리얼 엔진 4에서 언리얼 엔진 5로의 프로젝트 이주 프로세스를 간소화하려면 템포럴 업샘플링을 비활성화하여 프라이머리 스크린 퍼센티지에 스페이셜 업스케일 툴을 사용할 수 있습니다.
이렇게 하려면 언리얼 엔진 5 '프로젝트 세팅'의 엔진 > 렌더링 > 디폴트 세팅 에서 템포럴 업샘플링(Temporal Upsampling) 세팅을 비활성화합니다.

세팅을 비활성화한 경우 템포럴 안티 에일리어싱에 대한 렌더링 체인은 다음과 같습니다.

스크린 퍼센티지에 대한 TAAU별 셰이더 순열
TAAU에는 프라이머리 스크린 퍼센티지 범위에 대한 자체 셰이더 순열이 포함됩니다.
- 50 - 70 은 메모리에서 더 작은 LDS 타일을 사용하기 때문에 더 빠르게 렌더링됩니다.
- 71 - 100 은 데스크톱 및 베이스 콘솔에서의 '일반' DPI 렌더링에 유용합니다.
레벨 에디터 뷰포트 옵션(Viewport Options) 드롭다운 메뉴에서 프라이머리 스크린 퍼센티지 를 설정할 수 있습니다.

빠른 어프록시메이트 안티 에일리어싱
빠른 어프록시메이트 안티 에일리어싱, 즉 FXAA(Fast Approximate Anti-Aliasing)는 스페이셜 전용 안티 에일리어싱 기법입니다. 고대비 필터를 사용하여 에지를 찾고 픽셀 에지 간의 블렌딩(디더링)을 통해 스무딩하는 포스트 프로세싱 이펙트입니다. 이 기법의 이름에서 알 수 있듯이 렌더링이 빠르며 저사양 디바이스 및 데스크톱에 적합합니다.
이 기법은 렌더링 속도는 빠르지만 최종 이미지의 퀄리티는 다른 안티 에일리어싱 기법과 비교하여 낮을 수 있습니다.


TAAU의 디더링 퀄리티는 콘솔 변수 r.FXAA.Quality
를 사용하여 제어됩니다. 디더링에서 들쭉날쭉한 에지를 제거하는 데 몇 개의 샘플을 사용할지 설정할 수 있습니다. 샘플 수가 많을수록 퀄리티가 높아지지만 GPU 비용도 증가합니다.
선택할 수 있는 옵션은 다음과 같습니다.
- 0: 콘솔
- 1: PC 중간 디더링(샘플 3개 사용)
- 2: PC 중간 디더링(샘플 5개 사용)
- 3: PC 중간 디더링(샘플 8개 사용)
- 4: PC 낮은 디더링(샘플 12개 사용, 디폴트)
- 5: PC 높은 디더링(샘플 12개 사용)
또한 엔진 퀄리티 세팅 을 사용하여 안티 에일리어싱 퀄리티를 변경할 수 있습니다.
스페이셜 및 템포럴 업샘플링 체인에서 스페이셜 업스케일 툴은 프라이머리 스크린 퍼센티지의 포스트 프로세싱 체인 끝에서 발생합니다.

멀티 샘플 안티 에일리어싱
이 안티 에일리어싱 기법은 포워드 렌더러를 사용할 때 모바일 및 데스크톱/콘솔에서만 사용할 수 있습니다.
멀티 샘플 안티 에일리어싱, 즉 MSAA(Multi-Sample Anti-Aliasing)는 프레임의 일부만 스무딩하는 기법입니다. MSAA는 지오메트리 에지 등 문제에 취약한 영역에 집중합니다. MSAA는 에지에서 에일리어싱 문제가 발생할 수 있는 지점에서 컬러를 두 픽셀 사이의 색상으로 조작하여 에지를 정리합니다. 디더링 이펙트는 에지를 매끄러워 보이게 합니다.


MSAA의 퀄리티는 에일리어싱을 결정한 에지를 따라 컬러를 블렌딩하는 데 사용되는 샘플 수를 기반으로 달라집니다. 샘플이 많을수록 비주얼 퀄리티가 좋아지지만 GPU 처리 비용도 높아집니다.
MSAA가 사용하는 샘플 수는 '프로젝트 세팅'의 엔진(Engine) > 렌더링 > 디폴트 세팅 에서 MSAA 샘플 수(MSAA Sample Count) 세팅으로 설정할 수 있습니다. 이 세팅은 데스크톱/콘솔 및 모바일의 샘플 수를 제어합니다. 또는 콘솔 변수 r.MSAA.Quality
를 사용하여 퀄리티를 설정할 수도 있습니다.

2, 4, 8 개 샘플 중에서 선택합니다.




슬라이더를 드래그하여 멀티 샘플 안티 에일리어싱에서 사용할 샘플 수를 늘립니다.
다른 안티 에일리어싱 기법과 달리 MSAA는 '엔진 퀄리티 세팅'으로 제어되지 않으며 콘솔 변수 또는 프로젝트 세팅을 통해서만 설정할 수 있습니다.
렌더링 체인에서 MSAA는 스페이셜 업스케일 툴 이전에 주로 에지를 따라 지오메트리 에일리어싱을 리졸브합니다. 머티리얼, 텍스처, 투명 표면의 에일리어싱은 MSAA의 영향을 받지 않습니다.
