关于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; 


这个方法还是挺拙劣的,期待有更好的解决方式。
posted @ 2016-07-04 10:54  Fei非非  阅读(256)  评论(0编辑  收藏  举报