1、方法一:Resource
图片与视频音频资源都可通过Resource.load(path) 加载,资源路径是resource文件夹的相对路径。注意路径中资源文件不能带后缀。图片加载后unity会将其编译,会造成部分图片尺寸发生变化,如下图:
在inspector视图中做如下修改恢复其尺寸,但在图片资源较多的情况下此方法不适用:
Texture2D tex1 = (Texture2D)Resources.Load(path);
MovieTexture mov = (MovieTexture)Resources.Load(path,typeof(MovieTexture)) ;
(MovieTexture 中含有audioClip 播放视频是须一起播放,不然没有声音。须注意视频格式)
AudioClip clip = (AudioClip)Resources.Load(path);
AudioClip要绑定到相应的audio source中。
在资源较多时使用Resource加载速度较慢,并且只能加载本地资源
方法二:www
www异步加载,加载时不会影响整个程序进程。加载时使用yield return xxx;在满足条件xxx时就返回,但父函数不会结束,会继续执行函数其他部分。并且加载图片是不会修改图片尺寸。可以加载外部资源。
IEnumerator load()
{
WWW www = new WWW(path);
yield return www;
Texture2D tex1 = www.texture;
}
StartCoroutine(load());
path可以是url图片地址,也可以是本地资源地址,如:file:\\\D:/a.jpg
注:所有路径都要注意“\” 与"/"的使用,不然会加载失败