Game Effecter

2021년 2월 11일 목요일

( Unreal4 ) 마법진 제작 05 - 극좌표 제작

*극좌표를 제작할 때 Material이 아니라 Material Function을 제작합니다.
* Material Function은 사전에 노드를 제작하여 불러올수 있는 노드로 제작하는 방법론입니다.


Poly coordinate Function 노드

  1. Material Function을 생성합니다. ( Material 노드와 다릅니다. )
  2. Material Function에 들어가 Input 노드를 생성합니다
    • 몇개의 자리수를 넣을지를 설정하는데 Scalar는 하나의 자리수, Vector x는 x자리수를 뜻합니다.
  3. UV좌표 값을 가운데로 옮기기 위해 Scalar 값에는 ( -0.5 )를 넣어주고 Append로 연결해줍니다.
  4. 그 아래에 UV노드를 하나 생성하여 Input노드(1)을 연결해줍니다.
  5. Scalar(-0.5)값이 들어가있는 노드와 Vector2(1) 노드를 Add로 연결해줍니다.
    fig01. UV좌표 옮기기

  6. BreakOutPut2Componets 함수를 Add와 연결합니다. ( Comp Mask과 동일한 기능입니다.)
  7. BreakOut2Componets의 각각의 값을 Input(Scalar(1))과 Multiply로 연결합니다.
    fig02. LenthScale

  8. 양 끝을 기준으로 Gradient이 나오는 형태를 제작하기 위해 Multiply로 연결합니다.
    fig03. TwoSideGradient

  9. 마지막 두개의 Multiply를 Add로 연결하여 LegthNode를 만듭니다.
    fig04. Length Node

  10. Sqrt(제곱근) 노드를 연결하여 원의 크기를 줄입니다.
    fig05. Sqrt(제곱근)

    • PolyCoordinate의 공식은 y= 1/2파이tanx입니다. 이 공식을 활용하여 저희는 Texture가 원형으로 돌아가는 노드를 짤겁니다.
  11. BreakOutFloat2 노드를 ArcTangent2노드와 연결을 합니다. ( ArcTan = 1/Tanx )
  12. Input(RadiusScale(2))-Pi(B)와 Arctangent2(A)를 Divide로 연결합니다.
    fig06. polycoordinate Node

  13. Offset의 값을 조절하도록 Input(X,Y) 값을 생성하고 이들을 Append로 연결합니다.
    fig07. Offset(X,Y)

  14. Append 값 두개를 각각 Length와 Polycoordinate를 Add로 연결합니다.
  15. 각각의 형태가 흐르는 효과를 추가하고자 Panner를 각각( Length, Polycoordinate )의 노드에 연결합니다.
  16. 각각의 Panner값에 Compmask를 연결하여 하나의 값들만 나오도록 설정하고 Append로 연결합니다.
    fig08. Panner, Compmask, Append

  17. 최종적으로 Output에 Node를 연결하여 노드를 완성합니다.
    fig09. Final Node

  18. 하지만 Function 검색이 가능하도록 하려면 저장시 반드시 Expose to Library와 다른이름으로 저장하기를 진행해줘야합니다.
    fig10. Expose to Library, 다른이름으로 저장하기

Polycoordinate Material Node



댓글 없음:

댓글 쓰기