笨木头  2016-12-08 08:32     Unity3D     阅读(10252)     评论(5)
转载请注明,原文地址: http://www.benmutou.com/archives/2241
文章来源:笨木头与游戏开发
废话:

最近老板要我做一个培训游戏,由于我们公司主要是做网站的,自然是要做网页版的游戏了。

如果让我用网页端的技术来开发游戏,实在是有心无力,于是我提议用我最熟悉的技术来做,毫无疑问,只能选择Unity3D了。

在Unity3D的新版本中(我使用的是5.4.2),已经不支持生成WebPlayer了,只能生成WebGL版本。

小姑娘:废话还真多
 

1.问题描述

为了减小服务器的压力,我打算把游戏所需的静态数据(即不会发生改变的死数据)保存到CSV文件里,关于这个,大家有兴趣的话,我下次再聊聊(直接在公众号里发消息给我吧,我会看到的)。

在WebGL中读取文件只能用WWW了,可是折腾了好久,就是读不到任何数据。

 

2.解决方法

突然灵机一戳(小姑娘:是灵机一动!),我想到了,没错,CSV文件必须是Utf-8格式,否则是加载不出来的。

有可能是文件里包含了中文导致的(没有去验证)。

 

3.保存Utf-8格式的方法

先用记事本打开CSV文件,然后另存为,下方有一个文件格式的下拉选项,选择Utf-8,保存即可:



 

4.唠叨一下

Unity3D发布WebGL真是太慢了!

 

 
5 条评论
  • dk 2017-11-16 18:45:11

    楼主,我在webgl中用www读取本地文件失败了,您能指导下麽
    0回复
    • 博主 笨木头 2017-11-17 09:12:56

      有具体的代码吗?
      0回复
      • 2018-01-22 15:09:40

        楼主,我只是在WebGL上简单加载一个本地图片,就不可以。能指点下吗?
        url 是本地每个图片的路径
        ///
        /// 加载图片
        ///
        ///
        IEnumerator LoadImage(string url)
        {
        print(url);
        if (cube == null)
        {
        cube = GameObject.CreatePrimitive(PrimitiveType.Cube);
        }
        yield return null;

        WWW www = new WWW(url);
        yield return www;

        if (www.error != null)
        {
        print("#####:加载图片失败" + www.error);
        StopCoroutine("LoadImage");
        }

        cube.GetComponent().material.mainTexture = www.texture;

        www.Dispose();

        }
        0回复
        • jiaozheng 2018-04-16 11:52:21

          你好,这个问题解决了没?我也是www不到
          0回复
          • yijie 2018-06-29 15:43:00

            你好,我也是这个问题,提示我路径有问题
            0回复
发表评论
粤ICP备16043700号

本博客基于 BlazorAnt Design Blazor 开发