Unity3D WWW用file协议下载失败问题

Unity3D中加载本地或远程资源会用到WWW类,最使用Unity3D的WWW类加载本地磁盘资源时发现总是加载失败,先看看以下例子:

de  >using System.Collections;

using UnityEngine;

public class WWWTest : MonoBehaviour

{

void Start()

{

StartCoroutine(Load());

}

private IEnumerator Load()

{

string path = "file://D:/file.txt";

WWW www = new WWW(path);

yield return www;

if (www.error != null)

{

Debug.LogError(www.error);

}

else

{

Debug.Log(www.text);

}

}

}de>

这段代码是从path路径加载一个文本文件,成功则打印文本内容,失败则打印异常信息。

以上Unity工程存放在D盘

创建D:/file.txt文件,内容是'Unity3D DDD'

创建E:/file.txt文件,内容是'Unity3D EEE'

一轮测试

path = file://D:/file.txt时运行结果为:Unity3D DDD

path = file://E:/file.txt时运行结果为:Unity3D DDD

两个路径,结果一样。两次测试都读取了'file://D:/file.txt'文件,有点怪异接着测

二轮测试

删掉D:/file.txt,path = file://E:/file.txt运行结果为:Couldn't open file /file.txt

结论

由以上两轮测试猜测,应该是de >file://E:/file.txtde>这个路径有问题。

解决方法很简单,使用 file:///即可~

你可能感兴趣的:(Unity3D WWW用file协议下载失败问题)