WebGL打包

设置修改

在Build Settings->PlayerSettings->Other Settings->Rendering

  • 将Color Space 设置为Gamma

  • 将Lightmap Encoding 设置为NormalQuality

在Build Settings->PlayerSettings->Publishing Settings

  • 勾选Decompression Fallback

打包

完成配置修改之后,可以直接在Build界面选择Build And Run,构建结束后会由Unity自动部署,可以正常打开网页。

如果选择的是Build,导出WebGL工程。直接在本地点击index.html,会出现以下报错。需要部署web服务器才可以正常访问。下文会部署本地nginx服务器,解决该问题

部署Nginx

安装Nginx

Windows端

到niginx的官网http://nginx.org/en/download.html

下载稳定版本

之后将下载的zip解压后直接双击nginx.exe运行

Mac端

在命令行输入下方指令,安装ngnix

 

brew install ngnix

安装完成后,可以看到以下的输出日志

其中 /opt/homebrew/etc/nginx/nginx.conf 就是nginx配置所在的位置

修改配置

打开conf/niginx.conf,将端口号和server_name改为一个未被占用的端口号和本机的ip地址

 server {
        #这里填一个未被占用的端口
        listen       8080;
        #这里填本机ip
        server_name  10.244.115.20;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        
        location / {
            #这里填unity导出的webgl工程地址
            root   "D:\UnityProjects\DiceGameWeb";
            index  index.html index.htm;
        }
}

重新加载配置

修改完配置之后需要重新加载nginx配置,在nginx.exe所在的目录下运行

./nginx -s reload

运行webgl工程

最后将配置中填写的本机地址和端口号拼接在一起访问,http://10.244.115.20:8080/index.html

可以正常运行

问题处理

Unable to parse Build/DiceGameWeb.framework.js.br! If using custom web server, verify that web server is sending .br files with HTTP Response Header "Content-Encoding: br". Brotli compression may not be supported over HTTP connections. Migrate your server to use HTTPS.

BuildSetting->PlayerSettings->Player->Settings for WebGL->Publishing Settings->Compression Format

把Compression Format改成Disabled或者Gzip

 

执行nginx指令报错:nginx: [error] open() "/opt/homebrew/var/run/nginx.pid" failed (2: No such file or directory)

原因是nginx的pid丢失,所以执行 nginx -c /opt/homebrew/etc/nginx/nginx.conf 的指令 后面xx/nginx.conf 是nginx.config实际存储的地址

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐