1、多语言切换时卡顿。
因为切换多语言时会及时刷新游戏内所有文本内容,最初以为时TextMeshPro切换材质导致的。仔细查看后发现是因为多语言中存在类似“ 第{0}关 ”的表述,所以在每次切换时都会通过str.indexof("{"+i+"}")的方式来查找该文本内容是否需要通过format的方式处理。想起大量拼接字符会导致内存升高,遂将其修改为stringbuilder的方式,通过strbuilder.append("{");
strbuilder.append(i);
strbuilder.append("}");
str.indexof(strbuilder.toString());
瞬间就变得丝滑流畅了。
2、3D模型动态批处理失败
因为游戏中需要对模型进行变色处理,当时是在代码中动态获取到材质球并对其进行了颜色修改。导致合批失败。之后是复制了一个新的预制体以及对应的材质球。这样不同颜色的预制体使用不同颜色的材质球即可。