Choose your operating system:
Windows
macOS
Linux
모바일 포스트 프로세싱은 PC/콘솔 포스트 프로세싱과는 별도의 코드 패스로 구현되어 있습니다. 속도가 느린 종속적 텍스처 읽기, 부족한 하드웨어 기능, 더 높은 렌더타깃 리졸브 비용, 전반적으로 느린 퍼포먼스를 반영하기 위해서입니다. 모바일 어플리케이션에 포스트 프로세싱을 켜려면, 프로젝트 세팅 의 Mobile HDR 을 켜야 합니다. 아래 대부분의 세팅은 Mobile HDR 을 켜야 작동하는 기능입니다.
모바일 디바이스용 톤매퍼 켜기
모바일 디바이스에서 톤매퍼 포스트 프로세싱 옵션을 사용하려면, r.mobile.tonemapperfilm 기본값 0 을 1 로 설정해야 합니다. 언리얼 엔진 4 (UE4) 에디터 안에서 톤매퍼를 변경하거나 켜고 끄는 방법은 다음과 같습니다:
콘솔을 통한 톤매퍼 필름 켜기
UE4 에디터에서 톤매퍼를 켜는 방법은, 먼저 물결표 (`) 키를 눌러 콘솔을 열고 다음 명령을 입력합니다.
-
r.Mobile.TonemapperFilm 1
톤매퍼를 끄려면, 콘솔을 열고 다음 명령을 입력합니다.
-
r.Mobile.TonemapperFilm 0
이 방법으로 켜고 끄는 톤매퍼는 해당 세션에서만 적용됩니다. 톤매퍼를 항상 켜려면 DefaultEngine.ini 에 사용하려는 톤매퍼 세팅을 추가해 줘야 합니다.
.ini 파일을 통한 톤매퍼 켜기
프로젝트 전반적으로 톤매퍼를 켜고 끄려면 프로젝트 DefaultEngine.ini 파일의 Rendering Settings 섹션에 r.mobile.tonemapperfilm=1 을 추가해야 합니다.
모바일 디바이스에서 필름 톤매퍼 설정
모바일 디바이스에서 톤 매퍼를 켜고 끄기 위해서는, 화면을 동시에 네 손가락 터치하여 콘솔 창 을 띄운 다음 r.mobile.tonemapperfilm 1 을 입력하면 톤매퍼가 켜지고, r.mobile.tonemapperfilm 0 을 입력하면 톤매퍼가 꺼집니다.
모바일에서 지원되는 포스트 프로세스 이펙트 및 세팅
여기서는 모바일 디바이스에서 어떤 포스트 프로세스 이펙트와 세팅이 지원되는지, 그리고 톤매퍼 활성화가 필요한지 살펴보도록 하겠습니다.
컬러 그레이딩
Color Grading 섹션에서는 이미지 색 보정을 가능하게 해주는 지원 프로퍼티를 찾을 수 있습니다.
포스트 프로세스 프로퍼티 |
지원여부 |
r.mobile.tonemapperfilm 값 |
||
---|---|---|---|---|
White Balance 화이트 밸런스 |
||||
Temp |
예 |
1 |
||
Tint |
예 |
1 |
||
Global 글로벌 |
||||
Saturation |
예 |
1 |
||
Contrast |
예 |
1 |
||
Gamma |
예 |
1 |
||
Gain |
예 |
1 |
||
Offset |
예 |
1 |
||
Scene Color Tint |
예 |
1 |
||
Color Grading LUT Intensity |
예 |
1 |
||
Color Grading LUT |
예 |
1 |
||
Shadows 섀도우 |
||||
Saturation |
예 |
1 |
||
Contrast |
예 |
1 |
||
Gamma |
예 |
1 |
||
Gain |
예 |
1 |
||
Offset |
예 |
1 |
||
Shadows Max |
예 |
1 |
||
Midtones 미드톤 |
||||
Saturation |
예 |
1 |
||
Contrast |
예 |
1 |
||
Gamma |
예 |
1 |
||
Gain |
예 |
1 |
||
Offset |
예 |
1 |
||
Highlights 하이라이트 |
||||
Saturation |
예 |
1 |
||
Contrast |
예 |
1 |
||
Gamma |
예 |
1 |
||
Gain |
예 |
1 |
||
Offset |
예 |
1 |
||
Highlights Min |
예 |
1 |
톤매퍼
Tonemapper 섹션에서는 이미지 색 범위를 조정할 수 있도록 해주는 지원 프로퍼티를 찾을 수 있습니다.
포스트 프로세스 프로퍼티 |
지원여부 |
r.mobile.tonemapperfilm 값 |
---|---|---|
Slope |
예 |
1 |
Toe |
예 |
1 |
Shoulder |
예 |
1 |
Black Clip |
예 |
1 |
White Clip |
예 |
1 |
모바일 톤매퍼
Mobile Tonemapper 섹션에서는 이미지 색 범위를 조정할 수 있도록 해주는 모바일 전용 지원 프로퍼티를 찾을 수 있습니다.
포스트 프로세스 프로퍼티 |
지원여부 |
r.mobile.tonemapperfilm 값 |
---|---|---|
Tint |
예 |
0 |
Saturation |
예 |
0 |
Contrast |
예 |
0 |
Tint Shadow |
예 |
0 |
Tint Shadow Blend |
예 |
0 |
Tint Shadow Amount |
예 |
0 |
Channel Mixer Red |
예 |
0 |
Channel Mixer Green |
예 |
0 |
Channel Mixer Blue |
예 |
0 |
Crush Shadows |
예 |
0 |
Crush Highlights |
예 |
0 |
Dynamic Range |
예 |
0 |
렌즈
Lens 섹션에서는 이미지에 블룸이나 뎁스 오브 필드같은 여러 시각 효과를 줄 수 있도록 해주는 지원 프로퍼티를 찾을 수 있습니다.
포스트 프로세스 프로퍼티 |
지원여부 |
r.mobile.tonemapperfilm 값 |
||
---|---|---|---|---|
Image Effects 이미지 이펙트 |
||||
Chromatic Aberation |
예 |
0 & 1 |
||
Vignette Intensity |
예 |
0 & 1 |
||
Grain Jitter |
예 |
0 & 1 |
||
Color Grading Intensity |
예 |
1 |
||
Bloom 블룸 |
||||
Method: Standard |
예 |
0 & 1 |
||
Method: Convolution |
아니오 |
n/a |
||
Intensity |
예 |
0 & 1 |
||
Threshold |
예 |
0 & 1 |
||
Size Scale |
예 |
0 & 1 |
||
#123456 Size |
아니오 |
n/a |
||
#123456 Tint |
아니오 |
n/a |
||
Convolution Scale |
아니오 |
n/a |
||
Convolution Center |
아니오 |
n/a |
||
Convolution Boost |
아니오 |
n/a |
||
Convolution Buffer |
아니오 |
n/a |
||
Dirt Mask 더트 마스크 |
||||
Dirt Mask Texture |
예 |
1 |
||
Dirt Mask Intensity |
예 |
1 |
||
Dirt Mask Tint |
예 |
1 |
||
Auto Exposure 자동 노출 |
||||
Auto Exposure Histogram |
아니오 |
n/a |
||
Auto Exposure Basic |
아니오 |
n/a |
||
Low Percent |
아니오 |
n/a |
||
High Percent |
아니오 |
n/a |
||
Min Brightness |
아니오 |
n/a |
||
Max Brightness |
아니오 |
n/a |
||
Speed Up |
아니오 |
n/a |
||
Speed Down |
아니오 |
n/a |
||
Exposure Bias |
예 |
0 & 1 |
||
Histogram Log Min |
아니오 |
n/a |
||
Histogram Log Max |
아니오 |
n/a |
||
Low Percent |
아니오 |
n/a |
||
High Percent |
아니오 |
n/a |
||
Histogram Log Min |
아니오 |
n/a |
||
Histogram Log Max |
아니오 |
n/a |
||
Lens Flares 렌즈 플레어 |
||||
Intensity |
아니오 |
n/a |
||
Tint |
아니오 |
n/a |
||
Bokeh Size |
아니오 |
n/a |
||
Threshold |
아니오 |
n/a |
||
Bokeh Shape |
아니오 |
n/a |
||
Tints #012345678 |
아니오 |
n/a |
||
Depth of Field 뎁스 오브 필드 |
||||
BokehDOF |
아니오 |
n/a |
||
GaussianDOF |
예 |
0 |
||
CircleDOF |
아니오 |
n/a |
||
High Quality Gaussian DoF on Mobile |
예 |
1 |
||
Aperture F - Stop |
아니오 |
n/a |
||
Focal Distance |
예 |
0 |
||
Depth Blur km for 50% |
아니오 |
n/a |
||
Depth Blur Radius |
아니오 |
n/a |
||
Focal Region |
아니오 |
n/a |
||
Near Transition Region |
예 |
0 |
||
Far Transition Region |
예 |
0 |
||
Scale |
예 |
0 |
||
Max Bokeh Size |
아니오 |
n/a |
||
Near Blur Size |
아니오 |
n/a |
||
Far Blur Size |
아니오 |
n/a |
||
Shape |
아니오 |
n/a |
||
Occlusion |
아니오 |
n/a |
||
Color Threshold |
아니오 |
n/a |
||
Size Threshold |
아니오 |
n/a |
||
Sky Distance |
아니오 |
n/a |
||
Vignette Size |
아니오 |
n/a |
렌더링 피처
Rendering Features 섹션에서는 커스텀 뎁스나 커스텀 스텐실같은 특정 포스트 프로세스 머티리얼에 대한 이미지에 시각적인 조정을 가할 수 있도록 해주는 지원 프로퍼티를 찾을 수 있습니다.
포스트 프로세스 프로퍼티 |
지원여부 |
r.mobile.tonemapperfilm 값 |
||
---|---|---|---|---|
Post Process Materials 포스트 프로세스 머티리얼 |
||||
Array |
예 |
1 |
||
Ambient Cubemap 앰비언트 큐브맵 |
||||
Tint |
아니오 |
n/a |
||
Intensity |
아니오 |
n/a |
||
Cubemap Texture |
아니오 |
n/a |
||
Ambient Occlusion 앰비언트 오클루전 |
||||
Intensity |
아니오 |
n/a |
||
Radius |
아니오 |
n/a |
||
Static Fraction |
아니오 |
n/a |
||
Radius in Worldspace |
아니오 |
n/a |
||
Fade Out Distance |
아니오 |
n/a |
||
Fade Out Radius |
아니오 |
n/a |
||
Power |
아니오 |
n/a |
||
Bias |
아니오 |
n/a |
||
Quality |
아니오 |
n/a |
||
Mip Blend |
아니오 |
n/a |
||
Mip Scale |
아니오 |
n/a |
||
Mip Threshold |
아니오 |
n/a |
||
Global Illumination 글로벌 일루미네이션 |
||||
Indirect Lighting Color |
예 |
0 & 1 |
||
Indirect Lighting Intensity |
예 |
0 & 1 |
||
Motion Blur 모션 블러 |
||||
Amount |
아니오 |
n/a |
||
Max |
아니오 |
n/a |
||
Per Object Size |
아니오 |
n/a |
||
Light Propagation Volume 라이트 프로퍼게이션 볼륨 |
||||
Intensity |
아니오 |
n/a |
||
Size |
아니오 |
n/a |
||
Secondary Occlusion Intensity |
아니오 |
n/a |
||
Occlusion Intensity |
아니오 |
n/a |
||
Diffuse Occlusion Exponent |
아니오 |
n/a |
||
Specular Occlusion Exponent |
아니오 |
n/a |
||
Light Injection Bias |
아니오 |
n/a |
||
Secondary Bounce Intensity |
아니오 |
n/a |
||
Geometry Volume Bias |
아니오 |
n/a |
||
Emissive Injection Intensity |
아니오 |
n/a |
||
Occlusion Radius |
아니오 |
n/a |
||
Diffuse Occlusion Intensity |
아니오 |
n/a |
||
Specular Occlusion Intensity |
아니오 |
n/a |
||
Fade Range |
아니오 |
n/a |
||
Directional Occlusion Fade Range |
아니오 |
n/a |
||
Screen Space Reflections 스크린 스페이스 리플렉션 |
||||
Intensity |
아니오 |
n/a |
||
Quality |
아니오 |
n/a |
||
Max Roughness |
아니오 |
n/a |
||
Misc |
||||
Screen Percentage |
아니오 |
n/a |
커스텀 포스트 프로세스 머티리얼
언리얼 엔진에는 모바일 어플리케이션의 모양과 느낌을 마음껏 조정할 수 있는 포스트 프로세스 이펙트가 다양하게 내장되어 있습니다. 하지만 (VCR 고정 화면 등) 독특한 이펙트 구현을 위해 별도의 포스트 프로세스 머티리얼을 만들고 싶을 때가 있습니다.
모바일 어플리케이션에 이펙트를 추가하기 위해서는 커스텀 포스트 프로세스 머티리얼 개발이 필요합니다. 모바일 어플리케이션용 커스텀 포스트 프로세스 머티리얼을 제작할 때 반드시 코려해야 할 것들이 있습니다. 구체적으로 모바일 어플리케이션용 커스텀 포스트 프로세스 머티리얼은 PostProcessInput0 (씬 컬러) , 씬 뎁스 , 커스텀 뎁스 , 커스텀 스텐실 에서만 가져올(fetch) 수 있으며, 블렌더블 위치 는 다음과 같습니다:
-
톤매핑 전
-
톤매핑 후
블렌더블 위치 관련 상세 정보는, 포스트 프로세스 머티리얼 문서를 참고하세요. 현재 HDr 렌더링에 '모자익' 모드가 필요한 구형 Android 디바이스에서는 커스텀 포스트 프로세스 머티리얼을 만들 수 없습니다. 마지막으로, 픽셀 뎁스 정보는 아직 지원되지 않습니다.
이 기능의 정상 작동을 위해서는 포스트 프로세싱이 필요하므로, Mobile HDR 옵션을 켜야 합니다. 프로젝트 세팅 > 엔진 > 렌더링 > 모바일 에서 Mobile HDR 옵션이 체크되어 있는지 확인하세요.
이제 모바일 렌더링 패스로 커스텀 뎁스 포스트 프로세스 옵션을 사용합니다. 커스텀 포스트 프로세스 머티리얼은 이제 씬 뎁스 , 커스텀 뎁스 , 씬 컬러 , 커스텀 스텐실 에서 샘플링할 수 있습니다.
|
|
---|---|
커스텀 뎁스 |
커스텀 스텐실 |
일반적인 포스트 프로세스 퍼포먼스 팁
-
최적의 퍼포먼스와 퀄리티를 위해서는, 블룸과 템포럴 AA 만 사용하는 것이 가장 좋습니다.
더 나은 퍼포먼스를 위해 "r.RenderTargetSwitchWorkaround" 콘솔 변수로 제어되는 특수한 우회법을 구현했습니다. BaseDeviceProfiles.ini 에 보면 여러 디바이스에 대해 켜져있는 것을 볼 수 있습니다. 참고로 디바이스에서의 블룸 이펙트 외형에 일정한 퍼포먼스 특징과 함께 약간의 변화가 있을 것을 볼 수 있습니다.