본문 바로가기
Shader

Hidden/char_portrait_gauge 쉐이더 업데이트

by 대마왕J 2012. 4. 4.

 현재 커밋 되어 있는 상태입니다.

Hidden/char_portrait_gauge  셰이더는, 내정에서 건물에 어떤 장수가 일하고 있나~ 를 보여주고 있는 셰이더입니다.
인터페이스로 할 수도 있지만, 인터페이스로 하게 되면 반투명 이미지 두 장을 겹쳐서 보여주는 방식이라 콜수도 증가하고, Z 파이팅이 날 우려도 있어서 셰이더로 의뢰 들어왔습니다. 이렇게 좀 문제 생길 것 같은 인터페이스는 셰이더로 요청해 주시면 작업해 드립니다 :) 저렴하게....

 

 

우선은 이렇게... 예전에 깃발 (diffuse_flag) 쉐이더랑 같게 움직입니다.
장수 초상들이 잔뜩 모여 있는 곳에서, Tiling과 Index를 써 주면 알맞은 장수 얼굴을 찾아갑니다. 
애석하게도 Tiling 은 범용적으로 작동하지 않습니다. 16 이외의 값을 넣으시면 곤란합니다.
이 초상 파일이 여백이 좀 있는 파일이라, 이 여백값을 인지하고 제작된 셰이더라서, 다른 파일에서 사용하려면 여백 값이 달라져야 합니다. 일단은 하드코딩 해 놓았습니다. 나중에 응용이 필요하면, 이 하드코딩 값을 외부로 빼서 만들면 되긴 합니다.

Index 값은 예전의 Flag와 동일하게 움직입니다.
이번에도 역시, OpenGL의 UV 방식때문에 피토했다능 ...  

 그리고 추가된 전용 기능이 이것입니다 .

 아래에 GaugePercentage에 접근하셔서, 0으로 하면 저렇게 회색이 됩니다.

범위값은 % 로 편하게 보시라고 , 0~100 입니다

 

 물론 56.02742% 같은것도 표현 가능합니다.
내정에서 장수가 건물을 증축하거나 기타 작업을 할 때, 작업 진척도에 따라 이 % 를 조작해 주시면

얼굴이 칼라로 차오릅니다!!!

 하다보니 이런 문제가 발생했는데, 회색에 가까운 이미지도 있어서  , 이런 이미지는 '칼라로 차오르는' 느낌이 제대로 나지 않는다는 것입니다 .

 하물며 아예 회색인 이런 이미지는 아예 구별도 되지 않지요.

그래서 셰이더의 전형적인 메직 넘버 기법인 *0.5+0.5 를 이용해서 채도를 떨어뜨리고 밝기를 살짝 올렸습니다.  

이런 이미지도 이제 구별 잘 갑니다.   

칼라도 물론 구별 잘 갑니다. 왼쪽이 지금 적용되어 있는 버전입니다. 오른쪽 버전보다 좀 더 구별이 잘 간다고 믿고 싶습니다 헐헐헐.

 

반응형

댓글