UGUI之Image、RawImage使用说明

Image说明

Image是UGUI中最常见的控件,用于图片的显示,需要使用精灵图片。

基本属性

  1. Source Image,具体使用的图片,可拖动进来,需要是精灵格式;
  2. Color,图片的颜色,包括透明度控制。脚本上有Color、Color32的区别,Color类是Folat类型的参数,大小为0 ~ 1,Color32是Int类型参数,大小为0 ~ 255;
  3. Material,图片的材质;
  4. Raycast Target,是否能够响应图形射线,是否有点击事件,是否穿透主要是看这个属性;
  5. ImageType
  • Simple,默认属性
  • Sliced,九宫格应用,需要图片做过九宫格分割(下面单独讲),四角在图片拉升时不变,用于一个图适应多个大小,而不会拉伸变形
  • Tiled,图片平铺
  • Filled,图片消失动画,分为水平、垂直、90°、180°、360°,技能冷却主要依靠这个属性,主要控制Fill Amount的变化

图片切割

九宫格

九宫格
点击Sprite Editor,进入九宫格切割界面,默认是没有安装这个插件的,需要在Window >> Package Manager >> 搜索框输入 2D Sprite,然后install。

如何切割九宫格切割比较简单,理解起来也比较容易,切割后在具体Image中应用是,需要选中Sliced属性,如下图:

九宫格应用

图集

图片中可以放入多个图,手动制作成图集,然后进行切割,降低游戏的Draw Call。
在这里插入图片描述
图片中需要选择Sprite Mode为“Multiple”,然后点击Sprite Editor。

图集切割
切割的方式有多种,切割完毕后,一张图,可分为多个精灵图,每个精灵图可以单独使用。

切割效果
切割完毕,点击Apply进行保存。

这是切割后的效果
切割后一个图片,变为多个精灵。

RawImage可以做什么

一般都用Image这个组件,那么RawImage用来做什么呢?他和Image有什么区别呢?

区别可以看到他具体对应的文件不需要是一个精灵,只需要是一个Texture,虽然Sprite也是Texture的一种类型,当然RawImage也可以使用精灵。

同时,RawImage有UV Rect,改变UV坐标,可实现一张图片“切分(不是真的切图)”多个区域,如果这一组图相互切换变成一个动画,例如动物跑动,就能实现动图的效果。

RawImage核心代码比Image少很多,Raw Image不支持交互,可用于显示任何图片而不仅仅是Sprite,一般用在背景、图标上,支持UV Rect(用来设置只显示图片的某一部分),而Image不支持UV Rect。

用途一:小地图

利用Camera的属性 Target Texture,可以指定一个图片给摄像机,这个摄像机什么都不看,只看这个地图。

用途二:帧动画(动图)

改变RawImage的UV坐标,实现动图的效果。

小常识

  1. 快速设置图片的长宽

快速设置长宽

  1. 给图片添加像文本那样的阴影效果和描边效果

阴影效果和描边效果

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 在Unity中,RawImageImage和Sprite是三种不同的组件,它们有一些区别。 首先,渲染上的区别。ImageRawImage都是通过UGUIImage和CanvasRenderer组件来渲染的,而Sprite则是通过SpriteRenderer组件来渲染的。在视觉上,它们没有任何区别(都使用默认材质时),并且它们默认的渲染都是在Transparent Geometry队列中。 其次,使用方式的区别。ImageRawImage主要用于UI显示,而Sprite主要用于游戏场景中的元素渲染。在2D游戏开发中,应该尽量使用Sprite去渲染游戏场景中的元素,因为Sprite会创建额外的几何体来裁剪掉多余的透明像素区域,从而减少了大量的片段着色器运算,并降低了overdraw。而Image应该仅用于UI显示,因为它可能会被Canvas改变显示位置和实际大小,可能会造成跟预期设计不一致的显示结果。 最后,性能上的区别。由于Sprite的顶点数据更加复杂,在进行顶点计算时会比Image效率更低。但是在大量2D精灵存在的场景中,Sprite反而比Image拥有更好的效率,因为Sprite通过增加顶点而裁剪掉的部分减少了相当多的运算次数。而Image执行更多的片段着色器运算,因为它是针对每个像素运算的。随着2D元素数量的增加,这种差别会逐渐明显起来。 综上所述,Unity中的RawImageImage和Sprite在渲染方式、使用方式和性能上都有一些区别。根据具体的需求和场景,选择合适的组件来使用。 #### 引用[.reference_title] - *1* *3* [Unity2D:Sprite和Image的区别](https://blog.csdn.net/a435931517/article/details/84564155)[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^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [unity如何把RawImage的RenderTure图片转化成Sprite](https://blog.csdn.net/lucky_XiaoZhang/article/details/128004985)[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^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值