[UnityUI]九宫格在游戏中的使用

参考链接:http://blog.csdn.net/onerain88/article/details/12587301


九宫格的主要目的是处理图片拉伸效果,我们知道图片一旦被拉伸,它就会出现形变、模糊等问题,但是,有的图片它的某一些部分又是允许被拉伸的。例如,一个UI背景框,它的中间部分几乎是一个纯色,允许被拉伸(纯色被拉伸不会发生质量问题),但是,边缘的4个角可能有一些特殊花纹或者倒角不允许被任意拉伸,这个时候就可以使用九宫格,来使4个角不进行拉伸放大,只让中间部分进行拉伸放大,达到将一个小框拉大成一个大背景框,既节省了资源,又不会降低图片质量。


例如,下面分别是未拉伸的,拉伸的,拉伸+使用九宫格的





原理:



把纹理用4条线分割成9部分(如上图),通过观察可以发现,5是最规则的形状(矩形),其次是2,6,8,4(矩形,但是和四个角有公共边),最后是四个角1,3,9,7(圆角矩形)

规则的图形在拉伸之后的效果是比较好的,如果是不规则的图形,则会在拉伸之后变形!


根据上图做拉伸制定规则:

(1)保证四个角1,3,9,7不做任何拉伸
(2)与四个角有公共边的四个矩形2,6,8,4做单向拉伸,即保证与四个角的公共边不拉伸,例如2,8只进行横向拉伸,4,6只进行纵向拉伸
(3)中间部分5做双向拉伸,即横向,纵向同时拉伸


那么,在UGUI中应该怎么样设置九宫格呢?

1.选中图片,在Inspector面板里将Texture Type改为Sprite,点击Sprite Editor按钮,通过拖动绿色的点来设置九宫格大小。

2.将Image组件的Image Type改为Sliced。


那么,在NGUI中应该怎么样设置九宫格呢?

1.将UI制作到图集中,创建一个Sprite,在UISprite这个UI控件中,点击Sprite那列的Edit按钮,编辑九宫格。

2.将UISprite组件的Type改为Sliced。


  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
UI九宫格是一种在制作UI界面常用的技术,它以是否发生形变为基准。九宫格可以帮助我们在UI设计应对不同尺寸的屏幕,同时最大程度地节省纹理资源。在UnityUI(UGUI九宫格纹理拉伸是一种常见的使用方式,不论是游戏还是应用UI都可以使用九宫格纹理拉伸。通过九宫格拉伸,我们可以任意缩放图片而保持良好的显示效果。九宫格的顺序是固定的,左边在九宫格对应的位置是4,右边是5。因此,在对UI进行水平拉伸时,只会改变位置5的形变;而在垂直拉伸时,位置4和5都会发生形变。通过理解九宫格的原理和使用方法,我们可以更好地应对UI的变化。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Unity学习笔记——UI九宫格的原理](https://blog.csdn.net/m0_52058484/article/details/129057073)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [unity3d UGUI九宫格纹理拉伸的使用](https://blog.csdn.net/andyhebear/article/details/50476802)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值