项目是一个Slg类型的手游,使用Mesh Animator来烘培场景中数量极多的小兵动画。但是在美术部门的使用过程中发现,如果向同一目录生成一次烘焙动画后。在向同一目录烘培将导致报错,即使把先前烘培过的动画删除(空目录),除非重启Unity。从这一点出发,由于跟Unity的folder Object有关,初步判断可能是因为Mesh Animator中关联了Unity的某种资源缓存状态,跟Unity本身的资源管理机制不协调而导致。经过在Mesh Animation整个执行流程进行跟踪,最后锁定了在 1862行出现了问题。在这里meshAnim在前面的烘培流程中明明已经被写入了数据,但是执行到最后的步骤的时候却出现了异常的null。于是,我推测可能是因为数据没有即时的被序列化到本地,于是加上了一句AssetDatabase.SaveAssetIfDirty(meshAnim),一切就正常了。