优化Image设置Tiled类型产生过多的三角形顶点
?
將Image Type設置成Tiled來做拉伸時, unity會自動復制出很多三角形和頂點來。
?
?
我們可以用RawImage來解決這個問題。拉伸rawImage 后三角形 頂點的數量將不會在增加。
?
?
注意圖片類型使用Texture.
Wrap Mode 設置 Repeat。
? ?
最后把此Texture 掛在TiledImage上即可。代碼中會根據 拉伸的范圍來自動的算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); ????} } |
?
?
總結
以上是生活随笔為你收集整理的优化Image设置Tiled类型产生过多的三角形顶点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 图集分配透明与不透明打包不到一起的错误
- 下一篇: UGUI与NGUI的区别汇总