Unity发布WebGL注意事项以及移动端打开webgl网页
- Unity发布WebGL网页端
Unity发布webGL项目时存在很多的易错点,这些错误点没有统一的规律,因为是跨平台开发,开发过程中需要去解决未知的和已知的报错点,下面就我这两年开发WebGL遇到的问题做一个总结,还有的就是大家常遇到的坑我也进行汇总。
- 资源导入 :
关键字:顶点、分辨率;
- 发布了WebGL之后,网页运行有时候发现灯光会变暗,因为WebGL不支持实时光照的问题;
解决方法 :所以我们将光照可以做成LightingMap 使用,可以缓 解这一问题。
- 一些图片UI会在打包webGL之后在网页中会显示模糊;
解决方法:美术制作UI时候分辨率&比例调整好。
- Unity自带的字体,在webGL网页中是显示不出来;
解决方法:手动导入新的字体,比如微软自带的微软雅黑字体。
- WebGL的渲染和Unity的渲染差异,部分材质是不可以用的;
解决方法:开发时多做测试,对于显示不出来的材质进行更换&修改Shader。
- 尽量避免使用第三方插件(有些插件可以解决Bug或者大大提高效率,我们视情况而定)。
- 场景开发:
关键字:优化、插件
- Unity自带的视频播放器在开发webGL时候是不能用的;
解决方法:用AVpro视频插件来代替Unity自带播放器。
- 场景加载实现异步加载;
解决方法:我们可以通过协程方法来实现异步加载,部分代码:IEnumerator Start()
{
AsyncOperation scene = Application.LoadLevelAsync("");
yield return scene;
Debug.Log("加载完毕");
}
- 对于场景中不同距离的模型我们采用LOD进行场景优化;
LOD:Level Of Details多层次细节,unity中自带的一个组件,在场景中添加&设置即可。
- 代码模块 :
关键字:信息传递、减少循环
- 在开发过程中由于WebGL的资源限制,我们要和数据库进行数据传输时候不能直接访问数据库;
解决方法:我们可以通过JS作为中转站来访问,我们可以使用
Application.ExternalCall()来调用,可以传递一些参数和信息。
- 脚本中不用的代码一定要删除,因为有些代码会产生GC
- Getcomponent Gameobject.find()等这些方法尽量少用,而且千万不要放在Update中循环执行
- Update里面的逻辑尽量不要太复杂
- 打包设置:
关键字:位置、调试
- 在Publishing Settings设置里面找到压缩格式 勾选为Gzip;"Enable Exceptions"是异常捕获的一个开关,开发期间可以打开进行调试,当我们最终发布时候要将这个选为None;
- 打包位置要和工程包在同一级;
- 打包的每一级目录必须为全英文,不能出现中文;
- 打包时候,减少包里程序代码量可以在othersetting中启用Strip Engine Code;
- 目前webgl支持的浏览器为火狐、谷歌、Safari浏览器;
- WebGL在移动端的应用()
- 实现方法:
Unity发布webGL后,很多时候我们需要在移动端展示,此时找到UnityLoader.js文件,做下面的修改即可在手机端打开:
compatibilityCheck:function(e,t,r){
UnityLoader.SystemInfo.hasWebGL?
UnityLoader.SystemInfo.mobile?
t()
:["Firefox","Chrome","Safari"].indexOf(UnityLoader.SystemInfo.browser)==-1?
:e.popup("Yourbrowse does not support WebGL",[{text:"OK",callback:r}]) },
- 注意事项:
- 当我们在移动端进行三维模型的展示时,我们在开发过程中需要对模型进行三维动画的录制,通过点触屏幕调用方法即可实现,包括三维模型的全景展示、三维模型局部放大展示、信息调用等等,需要注意的是那些需要点击的按钮或者隐藏按钮的坐标问题,因为发布到webGL手机端时,按钮的实际坐标可能会发生变化;
解决方法:使用锚点来做场景的UI部分
- 当在手机端打开时,我们要设置webGL自适应屏幕;
解决方法:下面是关键代码
Unity发布WebGL注意事项以及移动端打开webgl网页相关推荐
- Unity 发布Android版,通过WPS Office打开word、excel、pdf等进行浏览
1.确保手机端安装了Wps office. 2.下载Android Studio项目文件,地址https://download.csdn.net/download/weixin_38548431/12 ...
- 手机查看电脑端打开的网页
1.先有vscode编辑器打开网页 使用插件-- Live Server 打开网页后的地址 2.找到ipv4地址 win+r 输入cmd 打开小黑板 输入ipconfig 3.更换域名 把Ipv4 ...
- Unity发布WebGl注意事项
unity 版本是5.5,不过看了2017的文档好像也是差不多,绝大部分都是根据官方文档,希望有帮助,如果有错误或者你知道更多这方面的只是,请告知下,大恩言谢. 1:对webgl发布的工程文件说明 在 ...
- unity发布WebGl,Win10搭建IIS服务器,开启本地IIS服务,
WebGL发布与IIS本地部署 系统: Win10家庭版 Unity版本:2018. 4.31f1 系统: Win10专业版 Unity版本:2021.1.18.f1c1 上面两个版本测试都可以. I ...
- unity发布webgl本地搭建服务器
当我们使用Unity发布WebGL项目的时候直接运行是不允许的,如下图提示: 如果我们没有线上服务器,怎么办?我们可以使用Windows的IIS服务,操作系统:Windows 10企业版G. Unit ...
- unity发布webgl 触摸控制和鼠标控制冲突问题解决
unity发布webgl 触摸控制和鼠标控制冲突问题解决 参考文章: (1)unity发布webgl 触摸控制和鼠标控制冲突问题解决 (2)https://www.cnblogs.com/pz904/ ...
- Unity发布WebGL时如何修改默认的载入进度条sf?
Unity发布WebGL版本后,需要去除Unity的Logo,首先关闭Splash Image去除Made with Unity启动画面(在File->Build Settings->Pl ...
- Unity发布WebGL不显示中文字体问题
在Unity发布WebGL的时候中文不能够显示,主要在于字体的设置,Unity默认的字体是Arial字体 首先想到的是字体类型不对,接下来更换字体 解决方案: 1.在Asset下创建文件夹,Font ...
- Unity发布WebGL运行问题
写在前面 Unity发布到Web平台的项目,在低版本的浏览器中,直接右键本地打开index.html文件,便可打开项目运行,但是升级浏览器后,发现在双击打开项目时,显示网页不支持运行WebGL等错误. ...
最新文章
- poj 2063完全背包
- Load和Initialize往死了问是一种怎样的体验?
- GARFIELD@01-18-2005
- VR应用开发遍地走的日子还有多远
- 阿里云徐立:面向容器和 Serverless Computing 的存储创新
- STM32开发 -- 外部中断详解
- 为什么要学习python
- 如何动态添加修改删除定时任务
- java 面试什么是类_Java 面试题代码类收集
- springboot 微服务_使用 Docker 部署 Spring Boot微服务
- so baby come on~~
- 华为云企业级Redis评测第二期:大Key操作的影响
- 微软Skype即将抛弃Windows Phone 8和8.1用户
- [swift] LeetCode 695. Max Area of Island
- POI:Excel表解析与导出通用工具类
- 固态硬盘开卡软件_SATAFIRM S11 MSATA固态硬盘刷固件
- mysql驱动5.1_mysql jdbc 驱动 5.1.26 官方最新版
- 解决nginx设置反向代理后,css|js|gif|jpg|jpeg|png|bmp|swf等静态资源无法加载
- WDM驱动实操No.1
- go get xxx timeout