优化Image设置Tiled类型产生过多的三角形顶点
?
將Image Type設(shè)置成Tiled來(lái)做拉伸時(shí), unity會(huì)自動(dòng)復(fù)制出很多三角形和頂點(diǎn)來(lái)。
?
?
我們可以用RawImage來(lái)解決這個(gè)問(wèn)題。拉伸rawImage 后三角形 頂點(diǎn)的數(shù)量將不會(huì)在增加。
?
?
注意圖片類型使用Texture.
Wrap Mode 設(shè)置 Repeat。
? ?
最后把此Texture 掛在TiledImage上即可。代碼中會(huì)根據(jù) 拉伸的范圍來(lái)自動(dòng)的算rawImage UVRect
C#
1 2 3 4 5 6 7 8 9 10 11 12 13 | using UnityEngine; using UnityEngine.UI; using System.Collections.Generic; ? ? [AddComponentMenu("UI/TiledImage")] public class TiledImage:RawImage { ???? ????protected override void OnRectTransformDimensionsChange(){ ????????base.OnRectTransformDimensionsChange(); ????????Vector2 size=rectTransform.sizeDelta; ????????this.uvRect=new Rect(0,0,size.x/texture.width*canvas.scaleFactor,size.y/texture.height*canvas.scaleFactor); ????} } |
?
?
總結(jié)
以上是生活随笔為你收集整理的优化Image设置Tiled类型产生过多的三角形顶点的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 图集分配透明与不透明打包不到一起的错误
- 下一篇: UGUI与NGUI的区别汇总