이펙트 파이프라인 제작 과정

Gusdnd_01·2024년 4월 27일
1

공부

목록 보기
9/16

졸업작품 프로젝트를 진행하며 이펙터로서 일하게 되었다.

물론 코딩도 하고 기획도 하였지만 가장 많이 한 일은 이펙트가 맞다.

이펙트를 만들면서 제작한 쉐이더 하나 정도만 열고자 한다.


혼자 공부하며 만들다 보니 복잡하기도 하고, 좋은 쉐이더인지는 모르겠다.
하지만 내가 만들게 된것을 차차 설명하고자 한다.

이것을 이용하여 만든 이펙트 중 하나만 공개하자면,

이거다.


계기

우선 제작 계기,

2D 스프라이트를 이용한 이펙트 제작

3D를 주로 하다 2D로 만드려하니 쿼드에 그리는 형태인 2D에는 문제가 생겼다.
그래서 2D 스프라이트용 셰이더를 만들었다.


이펙트

대장간과 불을 주제로 잡은 이펙트 였기에 내가 떠올린 키워드는

  • 결과
  • 점점 강해진다.

이었다.
대장간이고 하나의 제작과정에 하나의 결과가 나오기에 결과라는 키워드를 뽑아내었다. 그래서 만든 셰이더는
이렇게 하얀색 줄이 지나가는 셰이더다.
이펙트는 연출로 나오나 스킬로 나오나 기승전결이 있어야한다고 생각하기에 '결'부분을 장식해줄 라인 셰이더를 만들었다.

그 다음은 점점 강해진다. 라는 키워드는, 제작과정이 지날 때 마다 완성되어가는 모습이 상상되어 뽑아낸 키워드이다.

기승전결을 말했듯이, 그 과정에서 강해질 수 있다. 그렇기에 색상이 점점 변해가는 것을 만들었다.

이렇게 키워드로 뽑아낸 후 제작하니 제작이 쉽고 재밌었고, 결과도 좋게 나온것 같다. 저것으로 더 많은 이펙트를 뽑아낼 수 있길.


Tip.

앰플리파이 셰이더에서는 대체로 Vertex Texcoord라는 노드에서 값을 뽑아내어 파티클 시스템에 CustomData로 이펙트 시간에 따른 값을 조정한다.

이게 셰이더 그래프로 가면 뭘 써야할지 막막한데, 그때에는 비슷한 노드를 찾아보면된다. 다른 것도 마찬가지긴한데 일단 셰이더 그래프에서는 UV이다.

엥? 그거 UV값 가져오는거 아닌가요

저번에 DX12하면서 배운건데, 셰이더를 사용할 때 구조체 형태로 이름이랑 값을 맞춰 보내더라. 아마 그거랑 비슷한게 아닌가 싶음.

파티클 시스템에 CustomData를 키면

이런식으로 나올텐데, 저걸 구조체 형태로 지금 갖고있는 메테리얼에 값을 보내는 형태이다. 아마 셰이더 그래프로 하면 오류가 안날 수 있는데, 코드로 짰을 때 변수 위치가 이상할 경우에는 날 수 있다.

Custom1을 보면, TEXCOORD0.zw|xy라고 적혀있는데, 저게 매쉬 버텍스의 텍스 쿠드값이다. 그러니까 Custom1의 값이 변경되었을 때 그 값을 셰이더에 동적으로 사용이 가능하다는 사실.

그래서 내가 만든 셰이더를 보면

이런식으로 연결 해놓은 부분이 있는데, 저게 UV0의 값 중 B의 값(앰플리에서는 W)을 가져와 동적으로 변경할 수 있도록 해준다는 것이다.

다들 셰이더 그래프로 이펙트 어떻게 만들지 하는 문제를 갖고있다면 잘 활용해주길 바람.

헤헤 이제 자야지

profile
테크와 아름다움을 좋아하는 게임 이펙터

0개의 댓글

관련 채용 정보