개인적으로 개발자가 디자이너를 제한하면 안된다고 생각하기 때문에 작업했다.


유니티에서 자체적으로 GUI System을 제공해주지만 아직까지 NGUI가 더 편하다 ㅠㅠ


가끔 디자이너분들중 하나의 오브젝트를 그리더래도 Overlay나 레이어를 겹쳐서 사용하시는분들도 있고

게임 내 에서 시각적인 효과( ex: 전체적으로 어두워지는??) 를 주는데 오버레이 블렌딩을 많이 사용하신다.


NGUI만으로 캐쥬얼한 게임을 개발한다면 이러한 요구사항에 대해서는 처리하기 힘들다.

대체로 포기하거나, 사용되는 부분을 따로 유니티 레이어를 잡거나 카메라 자체에 연출을 주는등으로 처리하는 것 같다.


하여튼 필요해서 개발은 하긴 했고 NGUI상에서도 클릭 몇번으로 해당연출을 사용할수있게 만들어두어 디자이너들이 이제 알아서 잘한다..


아틀라스를 생성해줄 때 사용할 BlendMode들을 선택해주고




UISprite Inspector에서 BlendMode를 지정해줄수있다.


끝이다. 기존 UISprite의 Tint를 이용해도 함께 잘 적용된다.

(Multiply시 특정 색상(RGB)수정시 최종alpha이 조금 이상한, 버그가 존재하긴 하지만..)


아래는 단순 팝업에 적용된 예시지만 실제로는 게임속에서 미세한 디테일들을 올려주는데 아주 유용하다.


퍼포먼스, 메모리에도 전혀 문제가 없다.


[단점]

NGUI또한 써드파티 플러그인이기 때문에 해당 플러그인이 업데이트 될때마다

각각의 Shader코드와 별개로 아래 코드들을 수정해주어야한다.

UIAtlasMaker.cs

UIBasicSpriteEditor.cs

UISprite.cs

Posted by 랜스.

Trackback URL : 이 글에는 트랙백을 보낼 수 없습니다


Leave your greetings here.

: 1 : 2 : 3 : 4 : 5 : 6 : ... 185 :