포스트 프로세스 데모 머티리얼

비디오 주사선 포스트 프로세스 머티리얼에 대한 개요입니다.

Windows
MacOS
Linux

포스트 프로세스 이펙트에 대한 머티리얼 만들기

아래는 간단한 포스트 프로세스 머티리얼을 구성하는 법에 대한 기본적인 안내입니다:

  1. 메인 메뉴에서 파일 > 새 레벨 을 선택하여 레벨을 새로 만듭니다.

  2. 콘텐츠 브라우저에서 CB_button_NewAsset.png 버튼을 누른 다음 머티리얼 을 선택하여 머티리얼을 새로 만듭니다. 머티리얼에 이름을 지어줍니다.

    CreateNewMaterial.png

  3. 새로 만든 머티리얼에 더블클릭하여 머티리얼 에디터에서 엽니다.

  4. 머티리얼 프로퍼티 패널에서, 머티리얼 카테고리 아래 Material Domain (머티리얼 영역) 프로퍼티를 Post Process (포스트 프로세스)로 선택합니다. Shading Model (셰이딩 모델) 프로퍼티도 Unlit (언릿)으로 설정해 줘야 합니다.

    PostMaterialProperties.png

  5. Post Process Material (포스트 프로세스 머티리얼) 카테고리에서, Blendable Location (블렌더블 위치) 프로퍼티를 Before Tonemapping (톤매핑 이전)으로 설정해 줍니다. 퍼포먼스 비용은 조금 들지만, 화면이 움직일 때의 주사선 잔상이 방지됩니다. Blendable Location 프로퍼티 관련 상세 정보는 포스트 프로세스 머티리얼의 중요 세팅 부분을 참고해 주시기 바랍니다.

    PostProcessMaterialsCategory.png

  6. 이 시점에서 포스트 프로세스의 모양을 정의하는 머티리얼 표현식 망을 조금 만들어 볼 것입니다. 이 예제에 대한 테스트로, 비디오 주사선 오버레이 이펙트를 만들겠습니다. 사실 원하는 대로 아무거나 만들어 줘도 됩니다. 그러나 괜찮은 비디오 주사선 포스트 프로세스 머티리얼 예제가 있었으면 싶은 경우, 머티리얼 셋업 부분을 참고하세요.

머티리얼 셋업

간단한 비디오 주사선 포스트 프로세스 머티리얼에 대한 개요 및 분석입니다.

VideoScanlineEffect.png

먼저 이펙트에 사용된 텍스처는 이렇습니다. 원한다면 각각에 우클릭하고 저장하거나, 아니면 자신만의 베리에이션을 만들면 됩니다. 모두 꽤나 단순합니다.

ScanDistort.png

Noise.png

Scanlines.png

ScanDistortion.png (2x128)

Noise.png (512x512)

Scanlines.png (4x4)

참고로 이 문서에 보이는 이미지는 명확히 보이도록 하기 위해 크기를 조정했다는 점에서 약간 오해의 소지가 있습니다. 다운로드를 하면 (우클릭 > 다른 이름으로 저장) 원래 크기로 받을 수 있으며, 표에 언급되어 있습니다.

조립 개요

이 머티리얼을 조립하기 용이하도록 하기 위하여, 핵심 요소를 별도의 번호를 붙인 코멘트 박스로 나눠 두었습니다. 각각을 둘러보면서 각 노드 네트워크를 다시 만든 뒤 네트워크 이미지에 표시된 대로 연결해 주면 됩니다. 네트워크 이미지는 크기가 꽤나 크니 유의하세요. 컴퓨터에 따로 저장해 두시는 것이 좋습니다.

아래 번호가 붙은 단계는 이미지의 번호 코멘트 박스에서 벌어지는 일에 대한 개요입니다. 이 둘을 같이 참고하여 원하는 대로 이펙트를 다시 만들 수 있을 것입니다.

  1. '씬 컬러'를 들여오도록 설정된 '씬 텍스처' 표현식으로 시작합니다. 이 방법으로 포스트 프로세스를 통해 씬을 조작하게 됩니다.

  2. 간단한 패닝 텍스처(ScanDistort.png)를 사용해서 '씬 컬러'의 UV 를 동요시킵니다. 텍스처 결과에 0.03 을 곱한 다음 텍스처 좌표의 빨강 채널과만 합치는 식으로 이루어내는데, 실제적으로는 화면 위로 픽셀이 미끄러지는 효과가 납니다. 이렇게 디스토션 이펙트를 만들어 냅니다.

  3. 4x4 픽셀 주사선 텍스처를 들여온 다음 세로 방향으로 매우 묵직하게 타일링해 줍니다 (v:128). 아래쪽으로 매우 천천히 패닝해 주기도 합니다.

  4. 같은 주사선 텍스처를 재사용해서, 이번에는 1.28 만큼만 타일링한 뒤 위쪽으로 약간 더 빠르게 패닝합니다. 거기에 0.1 에서 0.5 사이로 제한시켜 주기도 합니다. 주사선에 약간의 베리에이션을 만드는 데 사용됩니다.

  5. 10 Hz 빈도로 0.6 에서 1.0 사이를 오가는 시간 주도형 사인 곡선을 만듭니다. 주사선을 깜빡이게 만드는 데 쓰입니다.

  6. 노이즈 텍스처를 받아 두 가지 다른 양과 속도로 다변화시켜 타일링과 패닝시킵니다.

  7. 두 노이즈의 평균을 낸 다음, ScanDistort 텍스처에 곱합니다. 거기에 40 을 곱한 다음 결과에 더해 하얀색 고정을 만듭니다.

  8. 패닝하는 ScanDistort 텍스처를 받아서 4 제곱을 해(서 대비를 증폭시켜) 준 다음 40 을 곱해 매우 밝게 만듭니다. 그리고서 최종 결과에서 그 값을 빼서 완벽한 검정으로 밀어냅니다. 그러면 구닥다리 VCR 탐색시 종종 보이는 검정 바 이펙트가 만들어 집니다.

위의 VCR 링크를 정말 클릭해 보셨다면, 이 이펙트가 그리 고맙게 느껴지시지는 않을 것 같습니다.

포스트 프로세스 볼륨에 할당

  1. 이제 머티리얼에 포스트 프로세스 볼륨을 할당해 줘야 합니다. 여기서는, 글로벌 포스트 프로세스를 사용하겠습니다. 월드 아웃라이너에서 Global PostProcess 를 선택합니다.

    SceneOutlinerGlobalPost.png

  2. 디테일 패널에서 Misc. (기타) 카테고리 아래 있는 Blendables (블렌더블) 프로퍼티 위치를 찾습니다. 프로퍼티 옆의 button_Plus.png 버튼을 클릭하여 요소를 추가합니다.

    BlendablesProperty.png

  3. 콘텐츠 브라우저에서 새 머티리얼을 선택한 다음 button_CBApply.png 버튼을 클릭하여 요소에 머티리얼을 적용합니다. 이제 머티리얼이 적용됩니다.

Before post process material applied

After post process material applied

이제 약간의 프로퍼티 기반 포스트 프로세스 세팅을 포스트 프로세스 볼륨의 일환으로 추가시켜 주면 됩니다. 이 경우, 다음과 같은 작업을 해 줍니다:

  • Saturation (채도)를 거의 0 으로 끌어 내립니다.

  • Tint (색조)를 사용하여 결과에 담록색 색조를 띄웁니다.

  • Contrast (대비)를 0.65 정도로 증폭시킵니다.

  • Crush Shadows, Crush Highlights 를 트윅 작업하여 (그림자와 하이라이트를 뭉개어) 대비를 더욱 끌어 올립니다.

  • Vignette Intensity (비녜트 세기)를 0.9 정도, 정말 센 비녜트로 만들어 줍니다.

  • Bloom (블룸) 세기를 약 3.0 정도로 증폭시켜 줍니다.

Select Skin
Light
Dark

새로운 언리얼 엔진 4 문서 사이트에 오신 것을 환영합니다!

문서 사이트에 대한 의견을 모을 수 있는 피드백 시스템을 포함해서 여러가지 새로운 기능을 준비하고 있습니다. 아래 Documentation Feedback 포럼(영문) 또는 언리얼 엔진 네이버 공식 카페(한글) 중 편하신 곳에 의견이나 문제점을 알려 주세요.

새 시스템이 준비되면 알려 드리겠습니다.

네이버 카페
공식 포럼