关于WWW加载路径有中文的有关问题

关于WWW加载路径有中文的问题

 

U3D的WWW加载虽然比较强大,功能很多,但是却不支持中文路径。这就有点杯具了,这个BUG到现在还没改过来……

 

 

如果只开发移动端和网页端,支持不支持也没关系。但假设是开发客户端较为大型的游戏,未免会用到Assetbundle加载,一旦用到就涉及用户是否将游戏放在有中文的路径上了。

 

 

 

一旦有中文,所有ASSETBUNDLE都将无法加载成功。

 

 

 

ASSETBUNDLE的路径假设有中文……

 

 

 

方法1:

 

 

 

FILESTREAM加载,再转换类型,这个方法还没测试,不过听说即便异步加载也会卡来卡去。

方法2:
判断该路径是否有中文,假设没有中文的话,按之前方法来读。 假设有中文的话复制一份assetbundle到persistentDataPath,然后根据persistentDataPath来用WWW加载读取 。

例如: 
if(有中文) 

            //假设persistentDataPath中不存在assetbundle,则复制一份到persistentDataPath 
            if (!System.IO.File.Exists(Application.persistentDataPath + "/" + url)) 
            { 
                System.IO.File.Copy(Application.streamingAssetsPath + "/AssetBundles_Windows/" + url, Application.persistentDataPath + "/" + url); 
            }              
            s = "file:///" + Application.persistentDataPath+ "/" + url; 


这个方法还是挺拙劣的,期待有更好的解决方式。

 

转自:

http://blog.sina.com.cn/s/blog_5b6cb9500101dskr.html