Unity3d随笔之Rawimage和Image

unity3d中的Rawimage和Image

Rawimage 和 Image 简单介绍

unity里面提供了两种图片相关的组件,一个是Image,一个是Rawimage,下面我们主要来简单介绍一下这两个组件。首先说Image,Image组件的Source Image指向的资源类型是Sprite,这意味着,我们使用的资源在设置的时候,类型必须是Sprite,这时我们需要在资源设置面板将资源类型改为Sprite,这样才能把它赋值给Image。
Unity3d随笔之Rawimage和Image_第1张图片Unity3d随笔之Rawimage和Image_第2张图片
Rawimge就不一样了,Rawimage组件的直接可以将Texture赋值给它,这样我们资源类型就设置为Default就好了,这样就可以赋值了。
Unity3d随笔之Rawimage和Image_第3张图片

逐渐深入

表面上看这两个其实也并没有什么不同嘛,资源都是一张图片,资源也都可以正常显示,那么这两者究竟有何不同呢?
首先两者在实现方式上有差异,Image的代码实现更为复杂,功能也更为丰富,在image组件里,我们可以实现资源的不同的Image Type,有四种,Simple,Sliced,Tiled和Filled。这四种Image Type有各自的应用场景,这个如果有一定的项目经验就会有所了解。
这里我们也是简单说一下吧,Simple顾名思义,简单,也就是不做处理,也是我们默认的一种Type。Sliced,切割,这个是我们在项目中经常会用到的一种Type,它在图片资源的九宫拉伸时会起到很好的效果。Tiled,平铺,这个也是需要进行九宫拉伸才会体现它的效果,Filled,填充,这个的应用场景大多是用于倒计时或者进度条的增长。具体的这四种Type的详细介绍,后续我还会出一篇随笔进行介绍。
Unity3d随笔之Rawimage和Image_第4张图片
以上说的这些,在Rawimage组件里是没有的,所以大家在上面的我们不是很详细的描述里,应该可以总结出两者在应用场景上的一个差别,前者,也就是Image,大多应用于某个ui的图片显示或者说是一些小图,比如我们刚说的需要拉九宫的图以及用作进度条和倒计时的图,而后者,只有一个Texture和通过UV Rect控制显示,这里的UV Rect就是通过简单的裁剪UV让图片显示部分,所以适合大背景的图进行使用,当然这里我们也有必要说明,被设置为Sprite的资源也可以被赋值给Rawimage,但是Rawimage本质上取得就是这个资源的Texture,其他的属性它都不关心,所以我们在平常进行使用的时候,尽量不要混用,Sprite和Texture尽量还是要分开。

总结

其实,本篇文章里所介绍的Image和Rawimage仅仅是皮毛,可能看下来觉得尽是些没用的东西,但是如果我们后续继续学习SpriteAtlas、ImageExtension、RawimageExtension,我们会发现,有了这些东西的基础,后续我们会更容易去了解接下来的知识。
先介绍这么多吧,后续会继续更新Image中四种ImageType介绍,SpriteAtlas的相关知识,RoundCornerImage和RoundCornerRawimage的实现等等吧,我现在能想到的就是这些,具体更新时间不确定,看工作之余的时间吧,会尽快更新的。

你可能感兴趣的:(Unity3d)