유니티 이펙트 툴인 슈리켄에서 가장 유용한 부분중 하나인 버텍스 스트림 셰이더 만들기입니다.
이론적으로는 뭐 간단한 편인데, 코드로 처리하는건 그 과정까지가 복잡해서리..
노드가 나왔으니 상대적으로 더 간단해지긴 했습니다만
역시 사전 지식 없이는 또 귀찮은 점이 있어서 정리해 봅니다.
버텍스 스트림만 만들면 쓸모없거든요. 이펙트용으로 하려면 나머지도 다 만들어야지...
기존 유니티는 이펙트용 기본 셰이더가 있었습니다만, 노드로 바뀌면서 어중간한 상태가 되어 버렸으니 이제 직접 만들줄도 알아야 한답니다.
나중에 VFX 그래프가 주류가 되면 더욱 더 중요하게 생각될겁니다.
그래서 사실은 낚시입니다 캬캬캬
버텍스 스트림 얘기도 하기 전에 기본형부터 만들 줄 알아야 뭐가 되지 않겠심까
캬캬캬
그래서 이번에는 기본형 만들기입니다!!!
사실은 다 쓰려고 하다가 너무 길어서 2부로 나눈거라는
일단 언릿 그래프를 하나 만들어 봅니다.
그리고 당연히 메터리얼 적용
그리고 그 메터리얼을 역시 슈리켄에 적용해 주면 ..
다음과 같이 됩니다. 여기서부터 시작.
좋아요 시작해보죠
우선은 버텍스 스트림이고 뭐고 이전에 이펙트 셰이더로 돌아가야 하는게 먼저니 짧게 해보겠습니다.
모든 기능을 다 넣을 수는 없지만 많이 쓰는 일반적인 기능들은 구현해 볼께요. 자세하게 설명하면 배보다 배꼽이 더 커지니까 여기는 빠르게.
우선 마스터 노드 설정입니다.
서피스는 Transparent로 바꾸고 블렌드는 Alpha, Add , Multi 중 원하는 걸로. 이게 뭔지 모르시면 일단 이펙트부터 공부하고 오시는 쪽으로.
그다음에 2side는 체크해야겠죠
save 해서 밝게 나오는지 한 번 체크 필요합니다. 물론 add로 설정하셨을때만.
다음에는 위와같이 텍스쳐 샘플러와 텍스쳐 어셋 셋팅해 줍니다. 텍스쳐에는 기본 파티클 내장 텍스쳐를 넣어놨습니다
물론 텍스쳐는 나중에 외부에서 처리할 수 있도록 프로퍼티로 빼주는걸 잊지 맙시다
알파를 적용시켜주는 것도 잊지 맙시다.
부드러운 이펙트 적용을 위해 알파 클립의 한계치도 0으로 내려줍시다
이제 파티클에 있는 칼라류 (start color 혹은 color over lifetime) 를 적용시켜 주기 위해서 버텍스 칼라와 알파를 곱해줍니다.
버텍스 칼라를 곱해주었습니다. 원 별것도 아닌게 더럽게 복잡해 보이는데요 ..
별 거 아닙니다. 알파는 알파끼리 곱해주고, 칼라에다가도 그 결과를 곱해줍니다.
이유는 additive 일때, 알파만으로는 투명해지지 않아서 그렇습니다. 실제 칼라가 어두워져야 투명해지거든요.
그 이유를 알고 싶다면 유니티 셰이더 스타트업 책 마지막 부분 알파를 공부해 보시면 (...책광고)
'Shader ' 카테고리의 다른 글
유니티 셰이더 그래프(Unity shadergraph) 이해할 수 없는 셰이더 그래프의 뒤통수 (2) | 2020.01.01 |
---|---|
유니티 셰이더 그래프(Unity shadergraph) 에서 버텍스 스트림 셰이더 (vertex stream shader) 가 적용된 이펙트 셰이더 만들기 2 (2) | 2019.12.31 |
유니티 셰이더 그래프(Unity shadergraph) Constant 노드 (0) | 2019.12.29 |
유니티 셰이더 그래프(Unity shadergraph) 칼라 덧셈과 곱셈의 이상한 결과물♥ (0) | 2019.12.28 |
유니티 셰이더 그래프 ( Unity Shadergraph): 카메라가 가까이 왔을때 부드럽게 사라지기 (0) | 2019.12.25 |
댓글