언어:
페이지 정보
수준별:
엔진 버전:
언리얼 엔진

새로운 글로벌 셰이더를 플러그인으로 생성 - 블루프린트 구성

언리얼 엔진

플러그인 작동을 확인했으니, 다음에는 블루프린트를 사용하여 글로벌 셰이더를 호출하는 방법을 살펴보겠습니다.

  1. 이 작동방식을 확인하기 위해, 콘텐츠 브라우저 에 우클릭하고 새 블루프린트 클래스 를 생성한 뒤 부모 클래스를 Actor 로 하고 이름을 DrawUVDisToRenderTarget 라 합니다.

    HT_ShadersInPlugins_11.png

  2. 새로운 렌더 타깃 을 만들어 RT_00 라 하고 머티리얼을 만들어 MAT_RT 라 합니다.

    HT_ShadersInPlugins_12.png

  3. MAT_RT 머티리얼을 열고 머티리얼 그래프에 RT_00 렌더 타깃을 추가한 뒤, 그 출력을 메인 머티리얼 노드의 베이스 컬러 입력에 연결, 적용저장 합니다.

    클릭하면 이미지 원본을 확인합니다.

  4. 다음, DrawUVDisToRenderTarget 블루프린트를 열고 이벤트 그래프에 다음 변수와 노드를 추가합니다.

    변수

    기본값

    K1

    1.0

    K2

    1.0

    inc

    1.0

    노드

    기본값

    W

    없음

    S

    없음

    Event Tick

    없음

    Draw UVDisplacement to Render Target

    FOV, Aspect Ratio, Overscan Factor 에 1 입력

    Make FooCameraModel

    없음

    Clear Render Target 2D

    없음

    HT_ShadersInPlugins_14.png

  5. Draw UVDisplacement to Render Target 이 제공된 렌더 타깃을 어떻게 워프하는지 쉽게 선보이기 위해, 그 K1K2 입력에 연결된 값이 버튼을 누르면 증가 또는 감소되도록 블루프린트를 구성해 주겠습니다. 이벤트 그래프의 노드를 다음과 같이 구성합니다:

    Copy Node Graph

    이 블루프린트 코드를 복사하여 바로 붙여넣을 수 있습니다.

    렌더 타깃을 Output Render Target 에 입력하지 않으면 아무것도 보이지 않는다는 점 잊지 마세요.

  6. 이제 필수 블루프린트 로직이 구성되었으니, 블루프린트를 컴파일저장 한 뒤 콘텐츠 브라우저 에서 블루프린트를 끌어 레벨 에 놓습니다. 완료되면, 블루프린트를 선택하고 Input 아래 Auto Receive Input (입력 자동 받기)를 Disabled 에서 Player 0 로 변경합니다.

    클릭하면 이미지 원본을 확인합니다.

  7. 바닥을 선택하고 Ctrl + W 키를 눌러 복제한 뒤 X 축으로 -90 도 회전시킵니다. 그리고 그 위에 MAT_RT 머티리얼을 끌어놓으면 Draw UVDisplacement to Render Target 효과를 확인할 수 있습니다.

    클릭하면 이미지 원본을 확인합니다.

  8. 구성이 완료되었으면, 플레이 버튼을 누른 뒤 W 키와 S 키를 눌러 Draw UVDisplacement to Render Target 노드에 입력된 렌더 타깃을 워프합니다. 다음 비디오와 같습니다.

최종 결과

이 시점에서 블루프린트를 통해 렌더 타깃 안의 콘텐츠를 왜곡시켜 온갖 재미난 모양을 만들 수 있습니다. 이제 새로운 플러그인을 만들거나 기존의 것을 편집하여 재미난 이미지와 이펙트를 직접 만들어 보세요.