UDN
Search public documentation:
CapturingCinematicsAndGameplayKR
English Translation
日本語訳
中国翻译
Interested in the Unreal Engine?
Visit the Unreal Technology site.
Looking for jobs and company info?
Check out the Epic games site.
Questions about support via UDN?
Contact the UDN Staff
日本語訳
中国翻译
Interested in the Unreal Engine?
Visit the Unreal Technology site.
Looking for jobs and company info?
Check out the Epic games site.
Questions about support via UDN?
Contact the UDN Staff
시네마틱과 게임플레이 캡처하기
문서 변경내역: Jeff Wilson 작성; 홍성진 번역.
개요
렌더링 프레임
프레임 캡처하기
언리얼에서는 게임을 실행할 때 명령줄 옵션을 적절히 지정해 주기만 하면 개별 프레임을 캡처할 수 있습니다. 엔진 자체에 게임을 일정 프레임율로 실행시키고 각 렌더링된 프레임을 미압축 .BMP 이미지로 출력하는 기능이 있습니다. 이 기능을 해상도를 설정하고 시동시 돌릴 맵을 지정하는 명령에 붙여주면, 부드럽게 실행되면서도 해상도가 매우 높은 게임 영상을 얻을 수 있습니다. 게임에서 특정 맵을 돌리려면, 맵의 이름을 실행파일에 전달해야 합니다. 시네마틱 시퀸스를 캡처 또는 시스템이 유지할 수 있는 것보다 고해상도의 영상을 특정 프레임율로 렌더링하도록 캡처하려는 경우, 캡처하려는 이벤트 시퀸스를 레벨이 시작할 때 자동으로 실행되도록 설정해 둬야 하겠습니다. 예를 들어 캡처하려는 시네마틱 시퀸스가 포함된 UDN_FeaturesDemo.udk 맵이 있을 경우, 다음과 같이 실행하면 됩니다:UDK.exe UDN_FeaturesDemo이 과정에서 사용된 명령줄 인수 는 다음과 같습니다:
- ResX= - 게임 창의 가로 해상도입니다.
- ResY= - 게임 창의 세로 해상도입니다.
- BENCHMARK (벤치마크) - 프레임 생략 없이 모든 프레임을 처리하는 고정 단계로 게임을 실행합니다. DUMPMOVIE 옵션과 함께 쓰기에 좋습니다.
- DUMPMOVIE (덤프무비) - 현재 게임 해상도를 사용하여 렌더링된 프레임을 파일로 쏟아붓습니다.
- DUMPMOVIE_TILEDSHOT=X (덤프무비 타일샷) - "DUMPMOVIE" 와 비슷하지만, 각 프레임을 초고해상도용 타일샷으로 캡처합니다. (파일이 엄청 클테니, 2 부터 시작해 보십시오)
- NOTEXTURESTREAMING (텍스처 스트리밍 없음) - 텍스처 스트리밍을 끕니다. 항상 최고품질 텍스처만 로드됩니다.
- MAXQUALITYMODE (최대 품질 모드) - 퍼포먼스를 고려치 않고 특정 시스템 설정을 최고품질로 덮어씁니다.
UDK.exe UDN_FeaturesDemo -BENCHMARK -MAXQUALITYMODE -NOTEXTURESTREAMING -DUMPMOVIE -FPS=30 -ResX=1280 -ResY=720이런 식으로 게임을 실행시킬 때, 시퀸스의 시작과 끝에 이상한 프레임이 섞이는 것을 볼 수 있습니다. 개별 이미지이니, 별로 걱정할 필요 없이 렌더링이 끝나면 그냥 지워버리면 되겠습니다. 결과 이미지 파일은 게임이 설치된 폴더의 Screenshots 디렉토리에 들어가게 됩니다. UDK 사용자에 대해선, 이렇습니다:
C:\UDK\UDK-2010-08\UDKGame\ScreenShots출력 경로는 *Engine.ini 의 [Core.System] 부분에서 설정할 수 있습니다. 예로 UDK용 UDKEngine.ini에는:
ScreenShotPath=..\..\UDKGame\ScreenShots실제로는 일반 버전을 가진 BaseEngine.ini 로부터 빌드됩니다. 프레임이나 스크린샷 출력 디렉토리를 영구적으로 바꾸고 싶으면, BaseEngine.ini 파일을 바꾸면 됩니다. 임시로 바꾸려면 [게임명]Engine.ini 을 변경하면 됩니다. 파일 이름은 MovieFrame*.bmp 식이며, *는 해당 이미지의 프레임 번호를 나타내는 5자리 숫자입니다. 파일 이름은 항상 같을 것이기에 캡처가 끝나자 마자 이미지를 다른 폴더로 옮기지 않으면 섞이거나 덮어쓰이게 될 수가 있습니다. 경고: 이 방법은 미압축 파일을 다루기에, 필요한 디스크 여유 공간이 엄청납니다. 캡처하려는 시퀸스 길이에 따라, 수십 기가의 이미지 또는 비디오 파일이 생길 수 있습니다.
사운드 캡처하기
오디오를 캡처하기 위해서는 소프트건 하드건 실시간 캡처 방법을 사용해야 합니다. 그리고서 오디오를 따기 위해 시네마틱을 다시 재생하면 됩니다. 프레임 유지가 가능할지에 대한 것은 걱정할 필요가 없습니다. 오디오만 따면 되니 아주 낮은 해상도로도 돌리기만 하면 됩니다. 예로 다음과 같은 명령을 내리면 됩니다:UDK.exe UDN_FeaturesDemo -ResX=320 -ResY=180Audacity 같이 컴퓨터에서 오디오만 캡처하는 어플이 이런 경우엔 딱이겠습니다. 아무튼 일반 캡처 프로그램으로 비디오와 오디오를 파일로 캡처한 뒤 나중에 필요에 따라 오디오를 비디오에서 분리시켜도 됩니다. 여기서는 Audacity를 예로 들어 보겠습니다. 먼저 Audacity 설치를 해야겠죠. 여기서 다운받아 설치합니다. Audacity가 설치되고나면 프로그램을 실행합니다. Edit 메뉴에서 Preferences 대화창을 띄운 다음 Audio I/O 탭을 선택합니다. Recording Device(녹화 장치)는 스피커, 예를 들어 Stereo Mix (Realtek High Definition) 로 설정하고, Number of Channels(채널 수)는 2 (Stereo) 로 설정합니다. Audacity한테 사운드카드에서 바로 스테레오로 녹화하라고 하는 겁니다. 변경사항 저장을 위해 _OK_를 누릅니다. 사운드 카드의 오디오 캡처를 시작하려면 버튼을 누르기만 하면 됩니다. Audacity의 작업공간에 2채널 오디오 트랙이 나타나고 오디오를 캡처하면서 스크롤되기 시작합니다. 저해상도 씬 재생 캡처를 시작하려면 위와 같은 명령을 내리십시오. 오디오 캡처를 끝내려면 씬의 재생이 끝난 후 버튼을 누르십시오. Audicaty 작업공간 안에 완전히 캡처된 오디오 트랙이 있습니다. 이제 File 메뉴에서 Export As WAV 를 선택하고, 위치와 파일명을 정하고서 Save 를 누르면 캡처된 오디오를 파일로 저장합니다.
사운드 편집하기
오디오를 따로 캡처해야 했기에, 결과 오디오 파일은 캡처된 비디오와 싱크가 맞지 않을 수 있습니다. 또한 오디오 파일 시작 및/또는 끝에 불필요한 부분을 지워줘야 할 수도 있습니다. 오디오 파일 편집은 Audacity 같은 편집 프로그램을 사용하면 꽤나 간단한 일입니다. 그 외에도 사용할 수 있는 오디오 편집 프로그램은 많이 있습니다만, 이미 오디오를 캡처하는 데 Audacity를 사용했고 무료 프로그램이기도 하니, 여기에 초점을 맞추겠습니다. 여기서 기본 개념은, 실제로 비디오에서 사운드가 시작하는 지점이 어디인가 알아내야 합니다. 그리고나서 캡처된 비디오의 프레임 수에서 오디오가 얼마나 길어야 하는지 겉잡아볼 수 있습니다. 예를 들어 여기서는 2457 프레임이 캡처되었습니다. 30fps 비디오에서는 1분 21.9초란 뜻이니, 오디오도 1분 21.9초 분량이 필요합니다. Audacity에서 오디오 부분 선택은 좌클릭하고 웨이브형으로 마우스를 끌어 가능합니다. 오디오 시작점을 찾아내면 좌클릭하고 오른쪽으로 끌기 시작합니다. 맨 아래 상태바 를 통해 선택 범위와 총 선택 길이가 표시됩니다. 전체 오디오 클립을 선택했을 때도 이 부분을 통해 알 수 있습니다. 오디오를 선택한 상태로 Ctrl + C 를 눌러 복사를 합니다. 그리고서 작업공간에 있는 트랙 아래를 클릭하고서 Ctrl + V 를 눌러 새 트랙에 붙여 넣습니다. 이제 해당 트랙의 버튼으로 오리지널 트랙을 지워도 됩니다. File 메뉴에서 Export As WAV 를 선택하고, 위치와 파일명을 선택한 다음 _Save_를 누르면 정리된 오디오를 파일로 저장합니다. 되돌아가서 다시 작업해야 할 수도 있으니 원본 풀 캡처 파일 이름과 다르게 하십시오.프레임과 사운드 합성하기
이미지 프레임을 단일 비디오 파일로 합성하고 오디오 캡처 파일을 비디오와 병합하려면, 합성 또는 비디오 편집 프로그램이 필요합니다. 비디오 편집 제품군은 많이 있는데, 대부분 꽤나 비쌉니다. 오디오와 비디오를 별개로 시간선에다 놓고 끌어서 일치시킬 수 있는 비선형 편집 어플이 합성하기에 딱입니다. 아무튼 VirtualDub을 통한 단순하면서도 무료인 대체법이 있습니다. 지금 우리가 하려는 이미지 시퀸스와 오디오를 단일 비디오 파일로 합성 작업에 딱 맞는 강력한 합성 어플로, 나중에 다양한 코덱을 사용하여 비디오를 인코딩하는 데 쓸 수도 있습니다. 먼저 VirtualDub을 설치합니다. 여기서 다운받을 수 있습니다. 설치하고나서 실행시킵니다. File 메뉴에서 Open Video File 을 선택합니다. 파일 대화창이 뜨면 렌더링된 프레임의 첫 이미지 위치를 찾아 선택합니다. 여기서는 MoveiFrame00003.bmp 입니다. Open 을 클릭하면 전체 시퀸스가 VirtualDub에 로드됩니다. 시간선을 문질러 보면 이게 맞는지 확인해 볼 수 있습니다. Audio 메뉴에서 Audio from another file 을 선택합니다. 정리된 오디오 캡처 파일을 찾아 선택하고, Open 을 눌러 로드합니다. VirtualDub에서 비디오를 재생해 보면 이 시점에서 비디오와 오디오가 잘 맞나 확인해 볼 수 있습니다. 맞지 않으면 Audacity 작업을 추가로 하여 맞춥니다. Audio는 이미 Direct Stream Copy 로 맞춰져 있을 겁니다. 즉 압축이나 다른 작업이 수행되지 않는다는 뜻입니다. 단순히 파일에서 오디오를 복사하여 새로운 비디오 파일로 저장합니다. 그러나 비디오에는 Full processing mode 를 사용해야 하며, 기본값으로 그리 되어 있을 겁니다. 압축 역시도 기본값이 미압축 비디오 파일을 만드는 걸로 되어 있는데, 바로 원하는 대로이니 모두가 제대로 된 겁니다. 비디오 파일 저장 준비가 되면 File 메뉴에서 Save as AVI 를 선택합니다. 대상 파일의 위치와 이름을 선택하고 Save 를 클릭합니다. 변환 작업 진행상황이 표시되는 상태창이 뜨게 됩니다. 프로세스가 완료되면, 이 시점에서 미압축 상태이기에 PC가 처리할 수만 있으면 비디오 파일을 찾아서 재생해 볼 수 있습니다. 비디오를 좀 적절한 크기로 압축하려면 인코딩 부분으로 건너뛰어 보시기 바랍니다.실시간 캡처하기
소프트웨어 캡처하기
스크린 캡처 소프트웨어는 경제적인 영상 캡처법이 될 수도 있습니다. 게임 비디오와 오디오를 비디오 파일로 직접 캡처할 수 있는 무료 프로그램은 여럿 있습니다. 몇몇 프로그램은 캡처와 동시에 인코딩까지 지원하기도 하며, 캡처한 후에 다른 포맷으로 변환도 되고, 심지어 Youtube나 기타 비디오 사이트에 바로 업로드하는 기능까지 소프트웨어 내에서 지원하는 것도 있습니다. 스크린 캡처 소프트웨어의 주요 약점은 그 소프트웨어가 잡아먹는 연산력입니다. 괴물같은 시스템에서 게임과 소프트웨어를 같이 돌리지 않는 이상, 프레임율 저하 없이 고해상도 캡처하기란 거의 불가능에 가깝습니다. 내부용으로는 괜찮을지 모르겠지만, 버벅이거나 마구 점프해대는 애니메이션이 있는 비디오는 공개용이나 미디어 홍보 목적으로는 적합하지 않을 것입니다. 다양한 기능의 전문 스크린 캡처 소프트웨어는 Camtasia 같은 게 있습니다. 영상 캡처에 대해서 만능이긴 합니다만, 그래도 알아둘 것은 가격표가 눈돌아갈 정도라는 겁니다. Camtasia의 무료 대안은 CamStudio 같은게 있습니다. Camtasia와 거의 동일한 인터페이스를 사용하는 오픈 소스 프로젝트입니다. 예산이 빡빡한 상태에서 게임을 개발할 때는 좋은 대안이 될 것입니다. 고로 소프트웨어 캡처 방식으로 영상을 캡처하는 과정에서 초점을 맞춰볼 것은 이녀석으로 하겠습니다. CamStudio 설치부터 해야겠죠. 여기서 다운받을 수 있습니다. 설치하고나서 CamStudio를 실행합니다. Region 메뉴에서 Region 을 선택합니다. 녹화할 때 캡처할 구역을 지정하는 겁니다. Options 메뉴에서 Video Options 를 선택하고 Video Options 대화창을 띄웁니다. Compressor 는 원하는 대로 선택합니다. 여기서는 Microsoft Video 1 로 놔두고 Quality 를 100 으로 올리겠습니다. Framerates 아래에서 Capture Frames Every 를 33 milisecond로, Playback Rate 를 30 fps로 설정합니다. 캡처를 기본값인 200fps 대신 30fps로 하게 됩니다. 보통 시스템에서 Record audio from speakers 옵션이 돌아가야 정상이겠지만, 지금은 Windows 7 기기와의 문제가 있는 듯 하니, 스피커를 마이크 대신 사용하도록 하는 대체법을 사용하도록 하겠습니다. 윈도우의 사운드에서 Recording 장치를 선택합니다. 예제의 Stereo Mix (Realtek High Definition Audio) 처럼 사운드 장치를 찾아 선택합니다. 사운드 장치가 보이지 않으면 우클릭하여 Show Disable Devices 및 Show Disconnected Devices 가 둘다 켜져 있는지 확인하시기 바랍니다. 선택된 사운드 장치를 기본으로 설정합니다. 사운드 장치에 대한 속성창을 열기 위해 버튼을 누릅니다. listen 탭을 선택하고 Playback through this device 를 스피커로 선택합니다. OK 를 클릭하고 대화창을 닫습니다. CamStudio에서 Options > Audio Options 메뉴를 통해 Audio Options for Microphone 을 선택합니다. Audio Capture Device 를 사운드 장치로 선택합니다. 그리고서 Recording Format 을 44.1 kHz, stereo, 16-bit 로 선택합니다. Options 메뉴에서 Record audio from microphone 이 선택되었는지 확인합니다. CamStudio 셋업이 완료되어 캡처할 준비가 됐습니다. Unreal을 캡처하려는 맵으로 실행시킵니다. 그리고 버튼을 누릅니다. 녹화하려는 구역을 선택하지 않으면 녹화가 시작되지 않습니다. 언리얼 뷰포트 좌상단 코너를 클릭하고 우하단 코너까지 드래그합니다. 끄는 동안 구역 크기를 확인할 수 있습니다. 선택이 되자마자 녹화가 시작되니, 시네마틱을 발동시키거나 게임플레이를 시작하면 됩니다. 녹화가 끝났으면 버튼을 눌러 녹화를 중지할 수 있습니다. 비디오를 저장할 파일 이름을 물어옵니다. 약간의 시간이 지나 비디오 처리가 끝나면 캡처를 되돌려볼 수 있는 CamStudio 플레이어가 뜨게 됩니다. 결과가 만족스럽지 않은 경우, 캡처를 다시 해 볼 수 있습니다. 또는 비디오 일부를 편집해야 하는 경우, 비디오 편집 어플을 통해 필요한 만큼 편집하면 되겠습니다.하드웨어 캡처하기
하드웨어 캡처하기란 비디오와 오디오 출력을 캡처하는 하드웨어 캡처 카드나 시스템을 사용하는 방법을 일컫습니다. 소프트웨어 화면 캡처하기에 비해 이 방법의 명확한 장점은, 리소스를 잡아먹는 비디오와 오디오 갈무리 및/또는 인코딩을 동일한 PC에서 실행되는 소프트웨어에 의존하지 않는다는 겁니다. 하드웨어 캡처는 사람이 실제로 플레이하는 게임의 고화질 비디오 및 오디오를 얻기 좋은 방법입니다. 다른 방법과 마찬가지로 단점도 있습니다. 두 가지 면에서 입니다. 첫째, 게임을 원하는 해상도와 프레임율로 소화해낼 수 있는 시스템이 필요합니다. 모든 캡처가 별도의 시스템에서 이루어질 수 있도록 하기 위해서는 시스템이 두 대 필요할 수도 있습니다. 둘째, 가격입니다. 전문 캡처 카드나 시스템은 매우 비쌉니다. 흔히들 말하길, 이 분야에서는 "뿌리는 대로 거두리라~" 사용가능한 하드웨어 솔루션은 많습니다. 현재 에픽에서 HDMI를 직접 캡처하기 위해 사용하는 것은 Aja IO 보드로, 별도의 비디오 처리 과정이 필요없어 집니다.인코딩
포맷 | 비디오 | 오디오 |
---|---|---|
SD (640x480) | 2000 kbps | 320 kbps / 44.100 kHz |
SD (863x480) | 3000 kbps | 320 kbps / 44.100 kHz |
HD (1280x720) | 5000 kbps | 320 kbps / 44.100 kHz |
- Target Size - Handbrake는 결과물의 크기가 이 MB에 근접하도록 비디오 인코딩을 시도합니다. 값이 낮을수록 비디오 품질도 떨어집니다.
- Avg Bitrate - Handbrake는 지정된 비트율을 사용하여 비디오를 인코딩합니다. 값이 높을수록 품질과 파일크기가 커집니다. 고정 비트율 비디오로 인코딩됩니다.
- Constant Quality - Handbrake는 선택된 품질에 맞게끔 비트율을 조절합니다. 값이 높을수록 일반적으로 품질과 파일크기도 커집니다. 가변 비트율(VBR) 비디오로 인코딩됩니다.