본문으로 바로가기

Surface shader UV atlas

category Technical Report/Unity Shader 2015. 5. 18. 12:25
반응형


//
        void surf (Input IN, inout SurfaceOutput o) {
        fixed4 c = tex2D (_MainTex, float2(IN.uv_MainTex.x + 0.5, IN.uv_MainTex.y)) ;
           o.Albedo = c.rgb ;


특별히 어려운건 아니고 multisource texture 한장에 몰아 넣을때 쓰기엔 이 방법이 좋을듯. 1/4씩 할당하면 네장을 drawcall하나로 처리할수 있긴 한데 glossiness나 specular, roughness, metallic의 경우 Grayscale texture이니 RGB 채널에다 몰아 넣는게 좀 더 효율이 좋다..


이방식은 sprite 처리로 atlas animation이나 effect를 처리하는 용도에 적합... normal texture를 같이 묶어 쓰는 용도도로도 좋아보이지만 normal texture는 별도의 포맷으로 관리 하기 때문에 이방법이 적합하진 않다. (테스트 안해봤는데 unity도 unreal도 다 별도로 관리하는거 보면 힘들듯). 상기 언급된 grayscale texture의 경우 texture 용량이 이방식이 불필요하게 늘어난다..



반응형

'Technical Report > Unity Shader' 카테고리의 다른 글

UV scrolling shader  (0) 2015.07.03
Terrain blend shader(Splatting textures By lerp)  (0) 2015.05.28
weed shader animation  (0) 2015.05.11
Lava Shader  (0) 2015.04.30
Unity 기본 3가지 shader 정리  (0) 2015.03.10