가끔 UI작업이나 스프라이트 랜더로 작업하면서 마스크 기능을 쓸때, 부드럽게 빠지는걸 원할때가 있는데요.
전 스텐실 버퍼를 사용해도 사용하기 까다롭거나 알파의 중간영역 값을 사용하는걸 모르겠더라구요.
그래서 한가지 꼼수를 생각해봤는데요.
모든 이미지에 같은 알파텍스쳐를 적용시켜보면 어떨까. 하는 생각으로 테스트를 해봤습니다.
뭐 마스크도 결국 같은 원리겠지만...
스프라이트 컴퍼넌트의 메인텍스쳐는 각자 출력하게 셋팅해두고, 알파텍스쳐만 world , screen 포지션으로 대응시켜두면
공용 메테리얼 하나만 컨트롤 해도 전부 같은 값을 먹일수가 있게됩니다.
물론 이렇게 해서 좋은점과 나쁜점은 있겠죠.
가볍게 쓸수있고, 알파의 중간영역을 자유롭게 쓸수있고, 같은 메테리얼을 사용하기때문에 뎁스 설정이 필요없다는점은 장점이겠지만
메테리얼의 속성이 같지 않으면 갯수를 늘려야 한다는점, 알파의 위치나 크기를 스케일이나 오프셋 수치로만 해줘야해서 대응이 불편하다는게 단점일것 같습니다.