2022-12-11周总结

这周主要跟了3个事情。

1. 足球微信小游戏

足球微信小游戏趁着世界杯的风口,这周终于正式开始推了,虽然量不是很大,但也算一个小的里程碑了。

这周主要跟进了下版本发布,主要更新内容:

  1. 修复BUG:其中一个比较诡异的Bug是排行榜加载微信头像的时候卡了好一阵子,然后突然头像加载出来之后就恢复了,这个只在ios部分手机上复现了,没找到具体原因,做了下面两个处理之后Bug消失:

    • ios分包收集函数的时候跑了下这一块的代码
    • 加载微信头像做了队列处理,避免一次性加载过多头像

    Bug对应的Console日志:

  2. 为了看用户流失情况,增加了各个阶段的埋点

2. 休闲游戏转微信小游戏

有了足球游戏转微信小游戏的经验之后,我们启动了另外一款休闲游戏转小游戏的工作,思路主要还是分几步走:

  1. 资源加载底层改成使用YooAsset,以及其他小程序不兼容的地方修改,主要是看是否使用System.Net的库以及System.IO的库的代码
  2. 转成微信小游戏
  3. 优化转出的小游戏,因为是有3D场景,所以优化的大头主要应该在内存和渲染上面。

目前还在第一步上面,YooAsset已经改完,但是导出的WebGL项目在加载之后,运行第一个加载的场景之后浏览器崩溃,还在定位问题中。

3. 3D项目

这周主要两个事情:

技能改版:

  1. 与服务端程序讨论了下整个战报的结构调整
  2. 客户端关于新战报的解析与数据层代码
  3. 上周讨论过战斗流程控制的节点结构搭建

后续主要优化步骤是暂时不动其他同事写的关于战斗表现代码,让他把这块代码插入到战斗控制流程的某些表现节点中,同时使用新的数据层来作为数据来源。这一步对表现那一块影响会比较小,周期不会很长。等这一步好了之后再考虑重构战斗表现那一块。争取12底把整个战斗重构完成。

Shader优化

  1. 解决了多灯光的阴影问题,additional pass的编译指令multi_compile_fwdadd改成multi_compile_fwdadd_fullshadows,这个书上有讲,自己看漏了
  2. 预制体烘培问题,流程跑通了,目前还有一个问题,LIGHTMAP_ON宏定义在手机上不生效,怀疑是打包问题,主要是还没太搞懂Shader变体的原理,后续需要再研究下这一块
  3. 阴影太黑问题,阴影的shadow乘错地方了,应该乘在叠加光照(漫反射、高光)的颜色部分,但是我乘在最后的颜色上了
  4. 阴影精度问题,测试法线阴影块状颗粒很明显,最终发现是跟使用半兰伯特模型有关,改为兰伯特模型,这个有点奇怪,现象如下图,第一张是半兰伯特模型,第二张是兰伯特模型

  5. 安卓机阴影不显示问题,原因是quality中的shadow distance设置太小,调大之后就好了

其他

为了不影响上班,8点赶到车管所,结果发现车管所是9点上班的(第一次发现还有9点钟上班的公务员),硬生生的在那边等到9点才办到业务。不过还算顺利,终于把好不容易摇到的车牌事情给办了,人生第一次进行选号,还是比较激动的。虽然白等了一小时,但发现车管所周末也会上班,下次不用工作日早期赶来办业务了。