포트폴리오 이미지나 기획서에 넣을 컷을 뷰포트에서 캡처하면 모니터 해상도 이상으로는 커지지 않습니다. 1920×1080 모니터에서 작업하면 결과물도 1920×1080에 멈추고, 인쇄용이나 4K 썸네일로 쓰기에는 부족합니다. 윈도우 캡처 도구로 찍으면 에디터 UI 테두리까지 함께 잡혀서 매번 잘라내는 일도 생깁니다.
언리얼엔진에는 이런 상황을 위해 HighResShot 이라는 콘솔 명령이 들어 있습니다. 엔진이 화면을 여러 조각으로 나눠 다시 렌더링한 뒤 한 장으로 붙여 주기 때문에, 모니터보다 큰 이미지를 뽑을 수 있습니다. 이 글은 Epic 공식 문서(5.8판)에 적힌 문법을 기준으로, 실제로 자주 쓰는 형태를 복사해서 쓸 수 있게 정리했습니다.
가장 단순한 캡처는 Shot 명령이며 기본 단축키는 F9 입니다. 이 방식은 지금 화면 해상도 그대로 한 장을 저장합니다. 빠르지만 크기를 키울 수 없습니다.
HighResShot 은 크기를 지정해서 다시 렌더링하는 방식입니다. 그래서 같은 장면이라도 몇 초가 더 걸리고, 그 사이 GPU 메모리를 많이 씁니다. 공식 문서도 "아주 큰 배율은 그래픽 드라이버가 응답하지 않거나 충돌을 일으킬 수 있다"고 경고합니다. 즉 필요한 크기만큼만 요청하는 것이 원칙입니다.
두 명령 모두 결과물은 프로젝트 폴더의 Saved\Screenshots 아래 플랫폼 이름 폴더(문서 표기 Saved\Screenshots\Windows)에 저장됩니다. 에디터 안에서 찍었는데 해당 폴더가 비어 있다면 같은 Screenshots 폴더 안에 에디터용 플랫폼 이름으로 된 하위 폴더가 생겼는지 확인해 보면 됩니다.
1단계. 에디터에서 PIE(Play In Editor)로 실행하거나 뷰포트를 선택한 상태에서 물결표(~) 키를 눌러 콘솔을 엽니다.
2단계. 원하는 방식 중 하나를 입력합니다.
HighResShot 2
현재 화면 해상도의 2배로 저장합니다. 1920×1080 화면이면 3840×2160 이 됩니다.
HighResShot 3840x2160
화면 비율과 상관없이 가로×세로 픽셀을 직접 지정합니다. x 는 영문 소문자입니다.
HighResShot filename=D:/Capture/key_01 3840x2160
파일 이름과 경로를 지정합니다. 같은 장면을 여러 번 찍을 때 덮어쓰기를 피하기 좋습니다.
3단계. 명령을 입력한 순간 한두 프레임 멈춘 것처럼 보이다가 저장이 끝납니다. Saved\Screenshots 폴더를 열어 결과를 확인합니다.
공식 문서에 적힌 전체 문법은 아래와 같습니다. 괄호 안은 둘 중 하나만 씁니다.
HighResShot filename=PATH (XxY OR Multiplier) CaptureX CaptureY CaptureW CaptureH bMaskUsingCustomDepth bDumpBufferVisualizationTargets bCaptureHDR bDateTimeAsFilename
| 파라미터 | 의미 | 쓰는 상황 |
|---|---|---|
| XxY / Multiplier | 결과 크기(픽셀 지정 또는 배율) | 가장 자주 바꾸는 값 |
| CaptureX Y W H | 뷰포트 안에서 잘라낼 영역(정수) | 화면 일부만 필요할 때 |
| bMaskUsingCustomDepth | 커스텀 뎁스로 배경을 마스킹 | 캐릭터만 떼어낼 때 |
| bDumpBufferVisualizationTargets | G-버퍼 패스를 따로 저장 | 합성·검수용 패스가 필요할 때 |
| bCaptureHDR | .EXR HDR 형식으로 저장 | 후보정에서 노출을 다시 잡을 때 |
| bDateTimeAsFilename | 파일명에 날짜·시간을 붙임 | 연속 촬영 시 덮어쓰기 방지 |
명령어가 익숙하지 않다면 뷰포트 왼쪽 위의 Viewport Options(햄버거 메뉴) → High Resolution Screenshot 을 열면 같은 기능을 창으로 쓸 수 있습니다. 문서 기준으로 이 창에서 고를 수 있는 항목은 다음과 같습니다.
캐릭터만 배경 없이 뽑고 싶다면 순서가 중요합니다. 먼저 캡처할 오브젝트를 선택하고 디테일 패널에서 Render CustomDepth Pass 를 켭니다. 그다음 도구 창에서 영역을 지정하고 Use custom depth as mask 를 켠 뒤 캡처합니다. 오브젝트 쪽 설정을 빼먹으면 마스크가 비어서 전부 투명하게 나오거나 아무것도 잘리지 않습니다. 원인이 오브젝트의 CustomDepth 설정이라는 점을 기억해 두면 헤매는 시간이 줄어듭니다.
결과가 이상할 때는 아래 순서로 좁혀 갑니다.
한 장짜리 스틸 컷이 아니라 카메라가 움직이는 영상이나 시퀀서 기반 연출을 고화질로 뽑아야 한다면, HighResShot 보다 Movie Render Queue 가 맞는 도구입니다. HighResShot 은 "지금 이 순간 한 장"을 크게 뽑는 용도로 생각하면 구분이 쉽습니다.
정리하면, 화면 해상도 그대로면 F9(Shot), 크기를 키워야 하면 HighResShot 크기지정, 배경 분리나 패스가 필요하면 High Resolution Screenshot 도구 창을 쓰는 것이 가장 헷갈리지 않는 선택입니다.
공식 문서는 구체적인 안전 한계를 숫자로 제시하지 않고 "아주 큰 배율은 드라이버 응답 없음이나 충돌을 일으킬 수 있다"고만 적고 있습니다. 한계는 GPU 메모리와 장면 복잡도에 따라 달라집니다. 필요한 최종 크기를 XxY 로 직접 지정하고, 처음에는 2배 정도로 시험한 뒤 올리는 방식을 권합니다.
콘솔 명령이므로 콘솔 입력이 가능한 환경이면 동작합니다. 다만 배포(Shipping) 빌드는 일반적으로 콘솔이 비활성화되어 있어 개발(Development) 빌드나 에디터에서 쓰는 것이 일반적입니다.
Use custom depth as mask(명령어에서는 bMaskUsingCustomDepth)를 켜면 커스텀 뎁스가 켜진 오브젝트 외 영역이 마스크 처리됩니다. 결과물에서 알파가 어떻게 들어갔는지는 사용하는 이미지 편집 프로그램에서 한 번 확인한 뒤 작업에 쓰는 편이 안전합니다.
씬이 무거워져서 프레임이 30 아래로 떨어지면 대부분 먼저 그래픽 옵션부터 낮춰 봅니다. 그림자 품질을 내리고,…
이해를 돕기 위한 주제 이미지▲ 스페이셜은 위치를, 템포럴은 셔터 시간을 나눈다 무비 렌더 큐로 뽑았는데…
라이트 강도를 바꿨는데 화면 밝기가 예상과 다르거나, 카메라 방향에 따라 화면이 서서히 밝아진다면 자동 노출을…
첫 직장에 들어가면 실력으로 평가받을 거라 생각합니다. 반은 맞습니다. 나머지 반은 다른 것들이고, 그 다른…