http://blog.sina.com.cn/s/blog_427cf00b0102vp0j.html
之前在做連連看游戲中,也用到貼圖坐標,當時我們講到,不管是平鋪(Tiling)還是偏移(Offset),我們參考的基准都是原始的那張圖,Tiling配合Offset,Tiling負責截取,Offset負責移動,最終實現截取貼圖的任一部分,但是這種方法弄出的圖形形狀都是方塊的,無法實現任意的貼圖
而下面要討論的方法和上面的方法會大不一樣,會從UV坐標的角度去討論,從而實現想怎么貼就怎么貼的效果;
meshfilter組件有個mesh屬性,mesh屬性又有個uv屬性,這個uv屬性會直接控制顯示貼圖的哪一部分,以及如何顯示貼圖
uv中的每一項和vertices中的每一項都是一一對應的
在unity中,UV坐標划分,分下面兩大步驟
1. 參考的標准是,unity剛導入時的那張圖,即原圖
2. 原圖的左下角uv坐標定為(0,0),原圖的右上角的uv坐標定位(1,1),原圖的其它任何一個位置按照比例都會有一個uv坐標,比如原圖的左上角的uv坐標定位(0,1),原圖的右下角的UV坐標定位(1,0),原圖的中心(對角線的交點)位置為(0.5,0.5),等等
再次強調,uv中的每一項和vertices中的每一項都是一一對應的,unity在貼圖的時候,會把uv中每一個點和vertices中對應索引的頂點一一關聯起來,這樣可以實現貼圖任意形狀顯示
FR:徐海濤(Hunk Xu)