Featured image of post [Shader] TKBG_IceWater Shder commited

[Shader] TKBG_IceWater Shder commited

수진씨 요청. 배경용 얼음물 쉐이더입니다. 얼음 쉐이더들은 굳이 무게로 따지자면 7-8g 은 될듯한 무거운 쉐이더들입니다.
일단 요청에 맞도록 만들어 놓고, 현재 진행중인 퍼포먼스 테스트 결과가 나오는 대로 거기에 맞춰 재조정될 예정입니다.

asset server 적용은 완료 되어 있는 상태입니다.

얼음 오브젝트와는 다르게, 평면에 주로 사용될 것이기 때문에 평면에 맞추어 필요없는 기능을 삭제하고, 필요한 기능을 추가하였습니다.

  • 얼음 오브젝트용 쉐이더인 ice 쉐이더보다 무조건 아래에 찍힙니다. 즉 이 얼음판 아래에 얼음 오브젝트 쉐이더를 사용한 오브젝트를 넣지 마세요.
  • Ambient 칼라는 삭제했습니다. 평면용에는 필요 없어서요.
  • 굴절도 삭제되어 있습니다. pass를 아껴서 가볍게 만들려고요.
  • 물처럼 ‘지면 또는 오브젝트와의 충돌’ 인식 코드가 들어 있습니다. 외각의 투명도를 결정합니다.
  • 아이폰에는 테스트도 안해봤습니다 잇힝. 안될게 너무 뻔해서.

자세한 사용방법입니다.

기본적으로 이렇게 생긴 쉐이더입니다. 얼음물 표현에 특화되어 있습니다.

Base Texture overlay 는 베이스맵을 보이게 할 것인지 안보이게 할 것인지를 정합니다. 아예 안보이는게 좋다면야 그렇게 하셔도 좋겠지만, 아예 안보이도록 늘 사용하실거라면 아예 베이스 텍스쳐를 빼달라고 주문해 주시는게 좋습니다. 텍스쳐는 한 장이라도 아끼는게 좋으니까요.

최고로 올리면 이렇게 나오구요. Tint Color 도 물론 동일하게 영향을 받습니다.

리플렉션 텍스쳐도 준비되어 있습니다. 프레넬 공식같은건 없습니다. 활성화 시키면 그냥 반사가 전부 이뤄집니다.
강도를 조절할 수 있는 옵션도 준비되어 있습니당

여기 가장 중요한 옵션입니다. 외각을 자동으로 인식해서, 투명하게 해 줍니다. 투명하게 해줄 뿐더러 아래 이미지와 섞여서 좀 ‘어둡게’ 나오도록 되어 있습니다.

이 옵션은 왼쪽으로 옮기면 투명한 영역이 넓어집니다. 굴절 같은건 이루어지지 않지만, 그다지 신경스이지 않습니다.

이번엔 그 아래 있는 Edge Line 옵션입니다. 이 옵션은 외각에 다시 한 번 라인이 나타나게 해 줍니다. 여기에 나타나는 라인은 Base Texture 입니다.

힌트는 수진씨가 주신 아래 이미지에서 얻었습니다. 외각으로 가서 얇아지면 분명 투명하지만 빛이 들어가지 않아서 어두워 집니다. 그렇지만 완전 외각으로 가면 확실하게 흰 경계선이 다시 생기게 됩니다. 이 이미지를 흉내낸 것입니다.  

이 외각 인식 기능 때문에 좀 무거운 쉐이더가 되어 버렸습니다만, 퍼포먼스 테스트 후 수정하기로 했습니다. 괜찮으면냅두고…

이전에 만든 얼음덩이 쉐이더와도 싸우지 않고 잘 지내는 것을 알 수 있습니다.

Hugo로 만듦
JimmyStack 테마 사용 중