64. 2023-06-10周总结

  1. 篮球项目转小程序
  2. 协程return和break问题
  3. 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大小

几个问题:

  1. 音频之前的插件版本会建议优化,但是我在重新翻文档的时候发现会自动适配,所以不需要修改了。

  2. Profile WebGl报错The message header is corrupted and for security reasons connection will be terminated.
    参考这个文档升级Unity版本解决

  3. OSA列表Active问题,隐藏代替inavtive
    Profile的时候发现OSA Item Active和Inactive比较耗性能。看了下OSA支持通过设置Scale来替代Active操作

  4. 优化问题
    测试发现打开某些界面会巨卡,通过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变量来传颜色值。主要修改如下,最后再多乘了个颜色值,乘的时候要过滤掉没有被扫光的地方: