Featured image of post flow shader 버전별 제작

flow shader 버전별 제작

음… 블렌딩 옵션별 flow 쉐이더를 제작했습니다.

예제에서도 이렇게 따로 나눠 놓은 걸로 봐서 techniq 등으로 처리할 수가 없나봐요.

어째서 쉐이더 UI 에는 라디오버튼이다 드랍다운 메뉴가 없단 말인가!!! 만들어라! 만들어라! … 심지어 유니티에는 Bool도 없어유… 0과 1로 처리할 수 밖에 없어요… 그나마도 0과 1 로 해놓고 단위를 1로 해 놓으면 On/Off 처럼 쓸 수 있을텐데 그것도 없어유… OTL 하지만 뭐 추가로 만드는게 거의 스트레스가 없기 때문에 (이름 중복하는 것만 주의하면) 그다지 불편하지는 않아유…

바로 만들 수 있었는데 좀 오래 걸린 이유는, CG로 쉐이더를 짜는 스타일을 정할 때 크게 두 개로 할 수 있는데, 하나는 이미 있는 라이팅 구조에 슬쩍 끼워서 짜는 방식과 (그게 이전방식. 라이트 연산을 아예 안할 수 있는 방법을 못찾았음) 아예 버텍스 쉐이더와 픽셀쉐이더를 따로 짜서 넣는 방법 ( 해봐서 성공. 라이트 연산을 아예 안할 수 있다) 을 테스트해 보느라고 말입니다.

일단 두 번째 방법으로 라이트 연산을 아예 안하는 방법을 성공시키긴 했지만, 그렇게 몽땅 수동으로 바꾸니 가장 유용한 옵션이었던 텍스쳐 타일링 등의 수치를 툴에서 못바꿔요 …OTL 너무 수동이 된거야.. OTL OTL OTL
 
그래서 할 수 없이 포기하고 다시 처음 방식으로 만들었습니다. 라이트 연산이 좀 된다 하더라도, 기능이 통합된 자동 방식이 훨씬 유용하고 작업효율이 좋지요. (사실 라이트 연산이 되는지도 불명확 하고)

하여간 참으로 다양한 방식으로 쉐이더를 짤 수 있으니 이거저거 건드려 보는데도 하루가 잘도 갑니다 그려.

어쨌건 그런 사연끝에 만든 쉐이더 블렌딩 베리에이션입니다.

Screen

 일반적으로 많이 사용하는 SrcAlpha - One 입니다. 이름처럼 소스의 알파채널을 사용하며, 뒤의 이미지를 밝게 만들어 버립니다.

ADD

 - Screen과 비슷하지만 훨씬 강하고 밝은 이미지가 나오게 됩니다. One-One을 사용하기 때문에 알파 채널은 필요 없고 최종 연산된 칼라에 따라 투명도가 결정됩니다.

Standard

  • 일반적인 투명도 계산입니다. 알파 채널을 이용하며, 라이트 계산은 되지 않지만 특별히 더 밝아진다던가 어두워진다던가 하지 않습니다. SrcAlpha - InvSrcAlpha (유니티에서는 OneMinusSrcAlpha) 한마디로 그냥 반투명.

Multi

 - 엄밀히 말하면 진짜 Multi와는 좀 다릅니다 :) Zero- InvSrcColor (유니티에서는 OneMinusSrcColor) 로, 특이한 변이재질에 가깝습니다. 알파는 사용하지 않고, 소스의 칼라에 따라 투명도가 정해집니다. 또한 색도 뒤집힙니다.

…. 그리고 이건 지금 연구하고 있는 쉐이더 . ㅋㅋ 

Hugo로 만듦
JimmyStack 테마 사용 중