본문 바로가기
vfxai 잡학지식 vfxai 잡학지식

언리얼엔진 무비 렌더 큐 영상이 깜빡이거나 흐릴 때: 안티에일리어싱·워밍업·모션블러 확인

vfx 잡학지식 읽는 시간 약 14분 조회 2

언리얼엔진 무비 렌더 큐 영상이 깜빡이거나 흐리면 워밍업, 안티에일리어싱 샘플, 모션블러 셔터 순서로 확인합니다.

언리얼엔진 무비 렌더 큐(Movie Render Queue)로 뽑은 영상이 깜빡이거나 뷰포트보다 흐리다면, 샘플 수부터 올리기 전에 증상이 어디에 나타나는지 먼저 나눠 보세요. 컷이 바뀐 직후 몇 프레임만 흐리고 어둡다면 워밍업, 샷 내내 밝기나 가는 디테일이 들썩인다면 안티에일리어싱과 노이즈의 원천, 움직이는 물체만 뭉개지거나 잔상이 끌린다면 모션블러와 TSR 쪽입니다.

뷰포트에서는 멀쩡했는데 렌더에서만 달라지는 데는 이유가 있습니다. TSR, TAA, Lumen 같은 기능은 한 프레임을 한 번에 끝내지 않고, 앞 프레임들의 결과(히스토리)를 쌓아 가며 화면을 안정시킵니다. 계속 돌아가는 에디터 뷰포트는 이 히스토리가 이미 차 있지만, 무비 렌더 큐는 컷마다 히스토리를 비우고 시작합니다. 여기에 여러 장을 합쳐 한 프레임을 만드는 샘플 방식까지 더해지니 같은 씬도 결과가 달라집니다.

증상먼저 볼 곳가르는 방법
컷 시작 몇 프레임만 흐리거나 어둡다가 제자리를 찾음워밍업Use Camera Cut for Warm Up + Render Warm Up Frames를 켜고 첫 프레임 비교
샷 전체에서 그림자·반사·밝기가 프레임마다 들썩임노이즈 원천, 자동 노출Write All Samples로 개별 샘플 확인, 노출을 Manual로 고정해 비교
가는 선이나 밝은 가장자리가 지글거림안티에일리어싱 방법과 샘플 수TAA에서 샘플이 8개를 넘는지 확인, None + Temporal 샘플과 비교
움직이는 물체만 번지거나 잔상이 남음모션블러 셔터, TSR/TAA 고스팅Motion Blur Amount·Shutter Timing 확인, AA 방법만 바꿔 비교
멈춘 장면까지 전체가 흐림Game Overrides, 해상도, 압축Game Overrides를 끄고, 이미지 시퀀스로 같은 프레임 비교

설정 이름은 Epic 공식 문서(UE 5.4, 5.8)와 Epic 개발자 커뮤니티 튜토리얼 기준입니다. UE 5.3까지는 무비 렌더 큐의 설정 목록(프리셋) 방식만 있고, 5.4에서 노드 방식의 무비 렌더 그래프(Movie Render Graph)가 실험 기능으로 추가돼 5.5에서 베타, 5.8에서 정식 기능이 됐습니다. 같은 설정이 두 방식에서 다른 곳에 있으니, 그래프를 쓴다면 글 뒤쪽 위치표를 함께 보세요.

언리얼엔진 렌더에서 첫 프레임만 흐리다면: 워밍업 설정

컷마다 첫 몇 프레임이 뿌옇거나 어둡다가 서서히 자리를 잡는다면 히스토리가 부족한 전형적인 모습입니다. Epic의 워밍업 튜토리얼은 첫 프레임에 따로 신경 써야 하는 기능으로 파티클, 클로스, Lumen GI, 모션블러, TAA/TSR을 꼽습니다. 이전 프레임이 없으니 이 기능들이 쌓아 둘 정보도 없는 거죠.

무비 렌더 큐에서는 Anti-aliasing 설정 안에 워밍업 항목이 네 개 있습니다.

  • Render Warm Up Count: 시퀀스를 재생하지 않고 같은 순간을 GPU에 여러 번 렌더해 TAA/TSR 히스토리를 만드는 옛 방식입니다. Epic은 Lumen이 나온 뒤로는 권하지 않으며 대부분 0으로 둬도 된다고 안내합니다.
  • Engine Warm Up Count: 시퀀스 첫 프레임에서 멈춘 채 엔진만 지정한 프레임 수만큼 돌립니다. 기본적으로 GPU 렌더는 하지 않습니다.
  • Use Camera Cut for Warm Up: 카메라 컷 섹션이 재생 범위보다 앞에서 시작하면, 그 구간을 실제로 재생하며 워밍업합니다.
  • Render Warm Up Frames: 위 두 워밍업 구간을 GPU로도 렌더하게 하는 스위치입니다.

Epic이 대부분의 경우에 권하는 조합은 Use Camera Cut for Warm Up과 Render Warm Up Frames를 함께 켜는 것입니다. 워밍업 구간은 파일로 저장되지 않으니 샷 길이와 프레임 번호는 그대로입니다.

Use Camera Cut for Warm Up 설정에서 카메라 컷과 애니메이션을 재생 범위보다 앞으로 늘려 워밍업하는 타임라인 개념도
카메라 컷과 애니메이션을 시작 프레임보다 앞으로 늘려 두면 그 구간이 워밍업으로 쓰입니다. (개념도)

다만 이 방식은 시퀀스 쪽 준비가 필요합니다. 컷은 한 카메라 컷 트랙에 여러 개를 이어 붙이지 말고 샷(서브시퀀스)으로 나눠야 하고, 각 샷 안의 카메라 컷 섹션을 시작 프레임보다 앞으로 늘려야 합니다. 캐릭터 애니메이션과 트랜스폼도 그 구간까지 늘려 둬야 모션블러와 시뮬레이션이 맞게 나옵니다. 얼마나 늘릴지 정해진 값은 없습니다. Epic은 한 프레임으로 될 때도 있지만 몇 프레임이 필요할 수 있으니 여유 있게 늘려 보라고 합니다.

시작 전 동작을 만들 수 없는 샷이라면 Engine Warm Up Count에 Render Warm Up Frames를 켜는 쪽이 대안입니다. 이때는 첫 포즈에 멈춘 채 엔진이 돌기 때문에, 달리는 캐릭터 뒤로 남는 파티클 꼬리처럼 움직임이 필요한 효과는 첫 프레임에서 뭉쳐 보일 수 있습니다.

Temporal Sample Count를 2 이상으로 쓰면 첫 프레임보다 조금 앞의 시간도 평가합니다. 문서는 시작 한 프레임 전까지 트랙을 늘려 두라고 하며, 자동으로 늘리지 못한 애니메이션·오디오 섹션은 렌더가 끝난 뒤 알려 줍니다.

무비 렌더 그래프에서는 워밍업이 Warm Up Settings 노드 하나로 정리돼, 워밍업 프레임 수와 모션블러 흉내(Emulate Motion Blur) 여부만 정합니다. Epic 포럼에는 그래프로 게임 시네마틱을 렌더하다 워밍업이 샷 카메라가 아닌 플레이어 시작 위치에서 돌아 첫 프레임이 어두웠고, Emulate Motion Blur를 켜서 해결했다는 사용자 보고가 있습니다. 같은 증상이라면 확인해 볼 만한 지점입니다.

샷 전체가 깜빡인다면: 안티에일리어싱과 샘플 조합

무비 렌더 큐는 한 프레임을 여러 번 렌더해 합칠 수 있고, 방식은 두 가지입니다. Temporal 샘플은 셔터가 열린 시간을 조각내 엔진 시간을 조금씩 진행하며 렌더하고, Spatial 샘플은 같은 순간에서 카메라만 서브픽셀만큼 흔들어 렌더합니다. 그래서 Temporal 샘플은 모션블러와 안티에일리어싱을 함께 올리고, Spatial 샘플은 모션블러 없이 가장자리만 다듬습니다.

언리얼엔진 무비 렌더 큐의 Temporal 샘플은 셔터 구간을 시간으로 나누고 Spatial 샘플은 같은 순간에 카메라만 흔든다는 개념도
Temporal 샘플은 시간을, Spatial 샘플은 카메라 위치를 나눕니다. (개념도)

여기에 Anti Aliasing Method(TSR, TAA, FXAA, None)가 겹칩니다. UE5의 기본값은 프로젝트 설정을 따르며 보통 TSR이고, TSR/TAA는 앞 프레임 히스토리를 섞어 화면을 안정시킵니다. 주의할 조합은 TAA와 많은 샘플입니다. 무비 렌더 큐 이미지 설정 문서에 따르면 TAA가 켜져 있으면 안티에일리어싱에 쓰이는 위치가 r.TemporalAASamples(기본 8)개로 제한됩니다. 그래서 Spatial × Temporal 샘플 수가 8을 넘으면 Override Anti Aliasing을 켜고 None으로 바꾸거나, 이 값을 샘플 수에 맞추라고 안내합니다. TSR은 지터 개수를 스스로 고르므로 이 8개 제한은 TAA 기준 설명입니다.

어느 쪽을 기본으로 할지는 씬이 무엇에 기대고 있는지로 정합니다.

  • TSR 유지 + 적은 Temporal 샘플: Lumen처럼 TSR/TAA로 노이즈를 줄이는 기능을 쓰는 씬의 출발점입니다. 무비 렌더 그래프 API 문서도 일부 렌더링 효과가 노이즈 감소를 TSR이나 TAA에 기대니 가능하면 켜 두라고 하면서, 고스팅 같은 작은 아티팩트가 생길 수 있다고 적습니다.
  • None + 많은 Temporal 샘플: 아주 밝고 얇은 선처럼 TSR/TAA가 깔끔하게 잡지 못하는 대상이나 잔상이 문제일 때 씁니다. 샘플마다 다른 지터 위치를 쓰니 샘플이 충분해야 계단이 사라집니다. Epic의 고품질 렌더 튜토리얼은 Spatial 1, Temporal 64, None 조합을 예로 듭니다.

디퍼드 렌더에서는 Spatial과 Temporal을 섞어 얻는 이득이 없다는 게 Epic 커뮤니티의 샘플링 해설 튜토리얼 설명입니다. 모션블러가 필요하면 Temporal만, 필요 없으면 Spatial만 올리라고 합니다. 기본 셔터 타이밍이 Frame Center이니 키프레임 순간이 샘플에 걸리도록 홀수로 두고, 낮은 값에서 시작해 빠르게 움직이는 샷만 올리는 편이 렌더 시간을 아낍니다.

샘플을 올려도 그림자나 반사가 계속 끓는다면 원인은 안티에일리어싱이 아닐 수 있습니다. 같은 튜토리얼은 레이 트레이싱 그림자나 Lumen GI·반사의 노이즈는 무비 렌더 큐 샘플이 아니라 해당 라이트의 샘플 수, 포스트 프로세스 볼륨의 Lumen·반사 품질에서 잡으라고 합니다. 샘플로 덮을 수는 있지만 렌더 시간이 크게 늘어납니다. 화면 전체 밝기가 프레임마다 오르내린다면 자동 노출도 의심해 볼 만합니다. 포스트 프로세스 볼륨의 Exposure 항목에서 Metering Mode를 Manual로 고정하고 짧은 구간을 다시 뽑아 보면 노출 탓인지 가를 수 있습니다.

원인이 헷갈리면 Debug Options의 Write All Samples를 켜서 한 프레임을 이루는 개별 샘플을 저장해 보세요. 그래프에서는 이 옵션이 Deferred Renderer 노드로 옮겨졌습니다. 샘플끼리 밝기가 크게 다르면 노이즈 원천, 샘플은 고른데 합친 결과만 흐리면 안티에일리어싱이나 모션블러 쪽입니다.

움직이는 것만 흐리다면: 모션블러 셔터 확인

Temporal 샘플이 쪼개는 셔터 구간의 길이는 카메라나 포스트 프로세스의 Motion Blur Amount가 정합니다. 문서 설명대로 엔진은 각 시간 조각의 중심에서 장면을 평가하고, 조각 사이를 기본 모션블러로 이어 회전하는 물체도 호를 그리며 번지게 만듭니다. 그러니 뷰포트보다 움직임이 더 번져 보이는 건 고장이라기보다 셔터를 연 만큼 궤적이 쌓인 결과일 수 있습니다. 셔터를 얼마나 열어야 자연스러운지는 모션블러가 끊겨 보일 때 셔터 앵글 확인하기에서 정리했습니다.

번짐 길이는 Motion Blur Amount로, 번짐이 프레임 앞뒤 중 어느 쪽에 걸리는지는 Camera 설정의 Shutter Timing(Frame Open, Frame Center, Frame Close)으로 조정합니다. 모션블러를 아예 빼려고 Amount를 0으로 둔 채 Temporal 샘플을 여러 개 쓰다가 “Too many temporal samples for the given shutter angle” 경고를 만났다는 포럼 보고가 있습니다. 모션블러가 필요 없는 샷이라면 Temporal을 1로 두고 Spatial 샘플로 안티에일리어싱을 채우는 편이 의도와 맞습니다.

반대로 셔터를 짧게 잡았는데도 움직이는 물체 뒤에 반투명한 꼬리가 남는다면 TSR/TAA의 고스팅일 수 있습니다. 문서는 TAA가 노이즈 많은 배경 앞을 지나는 물체에서 잔상을 만들 수 있다고 설명합니다. 같은 구간을 Anti Aliasing Method만 None으로 바꾸고 Temporal 샘플을 넉넉히 줘서 다시 뽑아 보면 어느 쪽 문제인지 드러납니다.

멈춘 장면까지 뷰포트보다 흐리다면

움직임이 없는 프레임까지 전체가 무르다면 샘플보다 렌더 조건의 차이를 봅니다. Epic 커뮤니티 튜토리얼은 Game Overrides의 품질·LOD·텍스처 스트리밍 설정이 따로 건드리지 않아도 렌더에 적용된다고 짚고, 무비 렌더 그래프 문서도 뷰포트와 렌더가 다르면 Global Game Overrides 노드를 끊거나 꺼서 확인해 보라고 합니다.

해상도도 확인합니다. Output의 Output Resolution이 영상을 볼 화면보다 작으면 재생기가 늘려 보여 주면서 흐려집니다. Epic 포럼 답변에서는 뷰포트가 TSR로 더 낮은 내부 해상도에서 그려지고 있을 수 있어 둘의 안티에일리어싱이 원래 다르다고 설명하며, 더 선명한 결과가 필요하면 목표보다 큰 해상도로 렌더한 뒤 합성 툴에서 줄이는 방법을 권합니다.

마지막으로 비교 조건을 맞춥니다. H.264 같은 압축 영상은 디테일과 노이즈가 뭉개질 수 있으니, 원인을 가릴 때는 PNG나 EXR 이미지 시퀀스로 같은 프레임을 뽑아 뷰포트와 비교하세요. High Resolution(타일 렌더)을 켰다면 문서상 TAA와 일부 화면 공간 효과를 지원하지 않는다는 점도 기억해 둡니다.

UE5 버전별로 설정 위치가 다릅니다

UE 5.3까지는 무비 렌더 큐 창에서 설정을 추가하는 프리셋 방식뿐입니다. 5.4에서는 같은 창의 Settings 열에서 Replace with Graph (Experimental)를 골라 그래프로 바꿀 수 있고, 5.5에서 베타, 5.8에서 정식 기능이 되며 큐 창도 그래프 기반으로 개편됐습니다. 5.6과 5.7의 세부 변화는 이 글에서 따로 확인하지 못했으니, 노드 이름이 다르면 해당 버전 문서를 기준으로 보세요.

언리얼엔진 무비 렌더 큐와 무비 렌더 그래프에서 샘플 수, 안티에일리어싱, 워밍업, 셔터 설정 위치를 비교한 표
같은 설정이 프리셋 방식과 그래프 방식에서 놓인 곳. (Epic 문서 기준 정리표)

그래프에서 Temporal 샘플은 작업 전체에 한 번만 정하는 Sampling Method 노드에, Spatial 샘플과 Anti Aliasing Method는 레이어마다 다르게 줄 수 있는 Deferred Renderer 노드에 있습니다. 프리셋에서 옮겨 왔다면 두 값이 한곳에 있지 않다는 점만 기억해도 헤매는 시간이 줄어듭니다.

한 줄 정리

컷 첫 프레임만 흐리면 Use Camera Cut for Warm Up과 Render Warm Up Frames, 샷 전체가 끓으면 안티에일리어싱 방법과 샘플 수(TAA로 8개 초과 주의)와 노이즈 원천, 움직임만 번지면 Motion Blur Amount와 TSR 고스팅 순서로 확인하세요.

vfx 잡학지식

함께 보면 좋은 글

댓글 0

첫 댓글을 남겨보세요.