Unity rawImage

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类型图片
 

你可能感兴趣的:(unity3d)