问题描述
开发环境是Unity 2019.4版本
粒子特效在Editor下显示没有问题,打包后大部分的粒子特效都没问题,但少量粒子特效里的Mesh没有显示。
同时出问题的粒子特效会报下面的Warning
No mesh data available for mesh Plane002 on particle system dg2 (4). Make sure Read/Write Enabled is set in the importer to work on the particle system renderer
问题分析
通过打开Mesh的Read/Write Enabled
,问题可以解决,但为什么其他的粒子特效就OK呢?项目中很多粒子特效用到的Mesh也没有打开Read/Write Enabled
。
Editor和打包后的环境最大的不同是,打包后是加载的AB包来实例化粒子特效的,通过直接在Editor里加载打包后的AB包测试,确定就是AB包的问题。
通过分析出问题和没出问题的粒子特效所在的AB包,发现没出问题的粒子特效,其Mesh是和粒子系统是打在同一个AB包里的,而出问题的那些粒子特效,其Mesh是独立打成AB包的,问题可能就是出在这里。
在Unity的论坛里找到答案,原因是Unity在Build的时候会自动把粒子系统关联的Mesh打开其Read/Write