Image 组件是用来交互的组件 , 但是有些时候我们希望某张图片仅仅是用来显示 , 不想它跟任何物体交互 , 有这样的组件吗 ? 答案是 Yes .
今天为大家介绍 RawImage 组件 , 是用来显示非交互的图像控件 , 一般用于装饰或者图标 , RawImage 支持任何类型的纹理 (Image 控件只支持 Sprite 类型的纹理 ) .
下面介绍一下 RawImage 常用的属性和功能吧 :
Texture : 要显示的图像纹理 ;Color : 颜色 ;Material : 材质 ;Raycast Target : 是否可以被射线检测到 ;
下面我们用 RawImage 做一个视频播放器吧 ,
我们找一个 MP4 格式的视频 , 拖到unity里 , 如图 所示 , 建一个 RawImage , 在 RawImage 下再建一个 Text 组件 , 写上 "这是我的 Logo" ,
然后把 视频拖到 Canvas 下 , 然后运行unity :
====================================================
RawImage控件:用于显示Texture(纹理)类型的图片,常用于(不仅限于)显示网络图片
示例:
在Canvas下新建一个RawImage控件,为RawImage控件添加一个脚本LoadImageFromNetwork,实现从网络加载图片
public class LoadImageFromNetwork : MonoBehaviour {
public string url;
private RawImage rawImage;
void Start () {
rawImage = this.GetComponent
StartCoroutine (LoadImage());
}
IEnumerator LoadImage()
{
WWW www = new WWW (url);
yield return www;
rawImage.texture = www.texture;
Debug.Log ("加载完成!");
}
}
还有一种用法是,映射一个摄像机的画面:
在Unity中新建一个额外的摄像机NewCamera,在Project中新建一个RenderTexture,名字自己起,将它赋值给NewCamera的TargetTexture属性和RawImage的Texture属性
RawImage和Image的区别:
Image控件用于显示Sprite类型的图片
RawImage控件用于显示Texture类型图片