64. 2023-06-10周总结
- 篮球项目转小程序
- 协程return和break问题
- UIEffect中Shinny效果增加Shinny颜色值
1. 篮球项目转小程序
通用修改
【x】删除不必要的插件(减少编译的wasm大小)
【x】配置表改用二进制(减少GC,加快加载速度)
【x】使用YooAsset替换Addressable(YooAsset用着更顺手,同时打包收集策略更好点)
【x】静态图片和动态图片整理(图集比较乱)
【x】动态图片懒加载(改动比较大,很容易出bug)
【x】UI框架支持资源卸载webgl修改
【x】服务器和客户端支持websocket
【x】打webgl包测试
【x】Http访问方式修改(webgl不支持System.Net下的Http)
【x】资源释放
【x】音频修改
【x】打包小程序测试
【x】图片压缩
【 】优化性能
【x】优化wasm大小
几个问题:
音频之前的插件版本会建议优化,但是我在重新翻文档的时候发现会自动适配,所以不需要修改了。
Profile WebGl报错
The message header is corrupted and for security reasons connection will be terminated.
参考这个文档升级Unity版本解决OSA列表Active问题,隐藏代替inavtive
Profile的时候发现OSA Item Active和Inactive比较耗性能。看了下OSA支持通过设置Scale来替代Active操作优化问题
测试发现打开某些界面会巨卡,通过YooAsset报告发现这个界面的ab包引入的其他ab包非常多(30多个),主要两个问题,一个是界面太臃肿,依赖的预制体过多。第二个就是图片地址不合理,YooAsset打包的时候会把引入的资源按文件夹打成share的ab包,界面引入的资源分布在各种文件夹导致这种shadre的ab包也很多。目前的优化思路是写脚本整理资源文件夹,一个界面的放在一起,公共的放在公共的地方,减少share包的产生。第二个界面臃肿就针对性的对指定界面修改,解耦预制体之间的依赖。目前还在尝试中,不确定是否能起到实质性的优化提升。
2. 协程return和break问题
战斗遇到个问题错吧yield return null当成结束协程了,导致整个战斗都乱了。改成yield break后问题修复
3. UIEffect中Shinny效果增加Shinny颜色值
美术要求修改UIEffect的扫光颜色,修改了它的Shader实现了该功能,但是没搞清楚它的贴图传参方式,所以另外起了一个Shader变量来传颜色值。主要修改如下,最后再多乘了个颜色值,乘的时候要过滤掉没有被扫光的地方: